0

嗨,我正在寻找根据鼠标角度旋转的电影剪辑。根据我在网上搜索的内容,我的这段代码看起来不错,但它对我不起作用。
顺便说一句,这个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;

    }


}  

当我移动鼠标时,movieclip 会旋转,但不会相应地旋转。我找不到这个问题,希望任何人都可以帮助。谢谢。

4

1 回答 1

0

mouseX 和 mouseY 应该是stage.mouseXstage.mouseY因为你想计算全局空间中的位置而不是玩家的局部空间。

于 2013-09-12T15:22:28.337 回答