Actionscript 3将对象旋转到鼠标
Posted
技术标签:
【中文标题】Actionscript 3将对象旋转到鼠标【英文标题】:Actionscript 3 rotate object to mouse 【发布时间】:2016-08-25 14:52:03 【问题描述】:您好,我在 youtube 上观看了 tut,我编写了这段代码以使对象旋转到鼠标位置,但它有点无法正常工作。
代码:
package
import flash.display.MovieClip;
import flash.events.Event;
public class char extends MovieClip
private var _pointer = this;
public function char()
addEventListener(Event.ENTER_FRAME, onEnter);
private function onEnter(event:Event):void
//Initialize dx and dy variables
var dx:Number = mouseX - _pointer.x;
var dy:Number = mouseY - _pointer.y;
//Store angle in angle variable
var angle:Number = Math.atan2(dy, dx) * 180 / Math.PI;
//Apply angle
_pointer.rotation = angle;
【问题讨论】:
【参考方案1】:您需要从父影片剪辑中获取 mouseX 和 mouseY 坐标,因为:
-
_pointer.x 和 _pointer.y 也在父坐标系中表示
电影的旋转会干扰 mouseX 和 mouseY 值(它们会反映未旋转的对象)
所以需要修改这两行:
var dx:Number = parent.mouseX-_pointer.x;
var dy:Number = parent.mouseY-_pointer.y;
【讨论】:
是的,我知道,我已经解决了问题,我使用 stage.mouseX 和 stage.mouseY 而不是 mouseX 和 mouseY。无论如何感谢您的回复。 :)以上是关于Actionscript 3将对象旋转到鼠标的主要内容,如果未能解决你的问题,请参考以下文章