AS3 向鼠标点击方向移动
AS3 move towards mouse click
在横向卷轴类型的游戏中,我希望对象移动到我单击鼠标的任何位置,然后停在该位置。完成此任务的最佳方法是什么?该对象只能在 x 轴上移动,所以我不必担心在 y 轴上移动。
使用补间:
http://hosted.zeh.com.br/tweener/docs/en-us/
并像这样应用补间:
Tweener.addTween(myObject, {_x:myObject.parent.mouseX, time:1, transition:"linear"});
您还可以玩转时间和过渡类型。可以在此处找到过渡类型的良好概述:
http://hosted.zeh.com.br/tweener/docs/en-us/misc/transitions.html
我会做的是设置一个目标 x 坐标,然后根据恒定的移动速度在每一帧(或计时器滴答)向它移动。
const moveSpeed:Number = 5;
var targetX:Number = 0;
stage.addEventListener(MouseEvent.CLICK, click);
function click(e:MouseEvent):void {
targetX = mouseX;
addEventListener(Event.ENTER_FRAME, update);
}
function update(e:Event):void {
if (Math.abs(targetX - player.x) < moveSpeed) {
// reached target
player.x = targetX;
} else if (targetX > player.x) {
// move right
player.x += moveSpeed;
} else {
// move left
player.x -= moveSpeed;
}
}
在横向卷轴类型的游戏中,我希望对象移动到我单击鼠标的任何位置,然后停在该位置。完成此任务的最佳方法是什么?该对象只能在 x 轴上移动,所以我不必担心在 y 轴上移动。
使用补间: http://hosted.zeh.com.br/tweener/docs/en-us/
并像这样应用补间:
Tweener.addTween(myObject, {_x:myObject.parent.mouseX, time:1, transition:"linear"});
您还可以玩转时间和过渡类型。可以在此处找到过渡类型的良好概述: http://hosted.zeh.com.br/tweener/docs/en-us/misc/transitions.html
我会做的是设置一个目标 x 坐标,然后根据恒定的移动速度在每一帧(或计时器滴答)向它移动。
const moveSpeed:Number = 5;
var targetX:Number = 0;
stage.addEventListener(MouseEvent.CLICK, click);
function click(e:MouseEvent):void {
targetX = mouseX;
addEventListener(Event.ENTER_FRAME, update);
}
function update(e:Event):void {
if (Math.abs(targetX - player.x) < moveSpeed) {
// reached target
player.x = targetX;
} else if (targetX > player.x) {
// move right
player.x += moveSpeed;
} else {
// move left
player.x -= moveSpeed;
}
}