AS3转向鼠标点击

时间:2016-02-03 09:27:37

标签: actionscript-3 flash

在侧滚动式游戏中,我想让对象移动到我点击鼠标的任何地方然后停在那个位置。完成此任务的最佳方法是什么?物体只能在x轴上移动,所以我不必担心在y轴上移动。

2 个答案:

答案 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