【问题标题】:How to move a Movie Clip by clicking a Button through coordinates如何通过坐标单击按钮来移动影片剪辑
【发布时间】:2013-01-06 14:28:22
【问题描述】:

我在 AS2 中遇到问题,我正在制作一个 Flash 游戏,通过单击一个按钮,您应该能够向上移动一个电影剪辑。这里的问题是我知道该怎么做:

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

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

on (press) {

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

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

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

【问题讨论】:

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


    【解决方案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) 处理程序中不要有太多代码,而是创建一个新函数并调用它。更容易重用和维护代码。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-13
    • 1970-01-01
    • 2020-04-29
    • 2014-04-03
    相关资源
    最近更新 更多