我正在尝试根据角色的旋转角度来移动角色,但是它的移动就像是向右滑动一样。
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
lilman.rotation = 0
var personRotation:Number = lilman.rotation * (Math.PI / 180)
stage.addEventListener(KeyboardEvent.KEY_DOWN, function(e:KeyboardEvent)
{
if(e.keyCode==65)
{
lilman.rotation -= 5
}
else if(e.keyCode==68)
{
lilman.rotation += 5
}
})
stage.addEventListener(MouseEvent.MOUSE_DOWN, function()
{
personRotation = lilman.rotation * (Math.PI / 180)
lilman.x += Math.cos(personRotation)*5
lilman.y += Math.sin(personRotation)*5
trace(Math.cos(personRotation) +", "+ Math.sin(personRotation) +", "+ personRotation +", "+ lilman.rotation)
})
答案 0 :(得分:0)
我已经测试了您的代码。 100%罚款。
要解决过渡问题,您需要编辑MovieClip对象自己的旋转。
假设您的MC朝上(向北),则以0
度的原点朝右(向东)。
1)右键单击MC,然后选择编辑。
2)在编辑模式下...选择所有内容,然后(a)将其向右旋转90度,(b)将(以前)的底部对准点+
。测试它是否按预期工作