如何通过单击按钮到坐标来移动影片剪辑

时间:2013-01-06 14:28:22

标签: flash loops actionscript-2 coordinates game-physics

我在AS2遇到问题,我在flash中制作一个游戏,通过点击一个按钮,你应该可以移动一个Movie Clip。这里的问题是我知道如何做到这一点:

    on(press){
example._y-=10;
}

但是我想逐渐向上移动它,就像坐标一样,直到它达到十,给出一点动画。我也不想要任何补间动画,因为影片剪辑已经与其他东西共享代码,所以不要让它变得复杂。我尝试了循环,但它不能很好地工作,这是代码:

on (press) {

    var i = 1;
    while (i < 10)
    {
        _root.example._y-=1;
        i++;
    }
}

我实际上并不擅长循环,我只是把它从互联网上取下来。所以也许你可以帮助我修改循环代码,或者你可以通过使用任何其他技术帮助我,但无论如何,它不能与补间动画相关,它应该只是改变特定的变量电影剪辑。

如果你想要我正在创建的文件,请回复, 谢谢! :)

1 个答案:

答案 0 :(得分:1)

如果在while循环中重复更改_y属性,则不会将更改视为动画(当脚本完成时,flash将运行代码并更新屏幕,因此它将立即跳转到结束位置)。

相反,您可以更改每个新帧的值,直到达到新位置:

on (press) {
    var moveCount = 10;

    _root.example.onEnterFrame = function() {
        moveCount--;

        if (moveCount > 0) {
            this._y--;
        } else {
            delete this.onEnterFrame;
        }
    }
}

此外,强烈建议你在on(press)处理程序中没有很多代码,但是创建一个新函数并调用它。使重用和维护代码变得更容易。