在侧滚动式游戏中,我想让对象移动到我点击鼠标的任何地方然后停在那个位置。完成此任务的最佳方法是什么?物体只能在x轴上移动,所以我不必担心在y轴上移动。
答案 0 :(得分:1)
我要做的是设置一个目标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;
}
}
答案 1 :(得分:0)
使用tweener: 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