您好我想要根据鼠标的角度旋转动画片段。我有这个代码看起来很好,根据我在网上搜索,但它不适合我 顺便说一下,这个movieclip有自己的类(Player.as),它是doc类的子类。 我已将影片剪辑放在舞台上。
public class Player extends MovieClip
{
private var player:MovieClip;
public function Player()
{
this.addEventListener(Event.ADDED_TO_STAGE,onStage);
}
private function onStage(e:Event)
{
stage.addEventListener(KeyboardEvent.KEY_DOWN, on_key_down);
stage.addEventListener(KeyboardEvent.KEY_UP, on_key_up);
this.addEventListener(Event.ENTER_FRAME,on_enter_frame);
removeEventListener(Event.ADDED_TO_STAGE,onStage);
}
private function on_enter_frame(e:Event)
{
var dist_Y:Number =mouseY -this.y ;
var dist_X:Number =mouseX -this.x ;
var angle:Number = Math.atan2(dist_Y,dist_X);
var degrees:Number = angle * 180/ Math.PI;
this.rotation = degrees;
}
}
当我移动鼠标时,动画片段会旋转,但不会相应。我找不到这个问题,希望有人能提供帮助。感谢。
答案 0 :(得分:0)
mouseX和mouseY应该是 stage.mouseX 和 stage.mouseY ,因为你想要计算全局空间中不在玩家当地空间中的位置。