AS3旋转影片剪辑并以一定角度移动会导致无法控制的抖动

时间:2012-06-24 23:28:48

标签: actionscript-3 radians

我正在制作一个Flash游戏,自上而下的射击游戏,我需要随机放在舞台上的敌人转向英雄并向他移动。这一切都很好,直到我移动英雄,然后敌人无法控制地摇晃直到我停止移动。 我简化了代码,如下所示:

stage.addEventListener(Event.ENTER_FRAME, moveMovie);
function moveMovie(event:Event):void{

movie1.x+= 5 * Math.cos(movie1.rotation);
movie1.y+= 5 * Math.sin(movie1.rotation);
movie1.rotation++;
}

我尝试过旋转,然后移动,移动然后旋转,将移动和旋转放入不同的功能,只有在角度太大时才旋转,只是每秒旋转一次,但仍然存在抖动。我这样做完全错了吗?当我试图实现它时,它似乎很简单。

1 个答案:

答案 0 :(得分:0)

.rotation属性由degrees表示。 cossin函数都接受radians,而不是degrees。试试这样:

movie1.x+= 5 * Math.cos(movie1.rotation * Math.PI/180);
movie1.y+= 5 * Math.sin(movie1.rotation * Math.PI/180);