如何检查动画片段是否已停止旋转/旋转

时间:2017-12-30 21:16:02

标签: flash actionscript-2 flash-cs6

我有一个脚本,我按下一个名为spin_btn的按钮,一旦它被释放,它会旋转一个轮子。以下是spin_btn的AS:

spin_btn.onRelease = function()
{
    speed = randomRange(25, 900);
    spinning = true;

    if (spinning)
    {
    spin_btn._visible = false;
    }

};

这是让车轮旋转的AS:

_root.onEnterFrame = function()
{
    spinning = true;
    if (spinning)
    {
        spinner_bg.spinner_wheel._rotation += speed;
        speed = speed * drag;

        if (Math.pow(speed, 2) < .0001)
        {
            speed = 0;
        }
    }
};

这是我在spin_btn函数中尝试的内容:

spin_btn.onRelease = function()
{
    speed = randomRange(25, 900);
    spinning = true;
    if (spinning)
    {
        spin_btn._visible = false;
    }
    else if (!spinning)
    {
        gotoAndStop(2);
    }
};

然而,一旦车轮停止旋转,它就不会进入第2帧,我不太清楚为什么。如果有人能帮助我,那就太棒了。谢谢。

1 个答案:

答案 0 :(得分:1)

如果您希望在车轮停止后立即移动框架,则需要将当前设置速度的gotoAndStop(2);置于0

if (Math.pow(speed, 2) < .0001)
{
    speed = 0;
    gotoAndStop(2);
}

另请查看您的spinning变量正在执行的操作。您在按钮版本上将其设置为true,但您也将其设置为true中的onEnterFrame,并且您没有将其设置为false,因此它根本没有做任何事情。目前,您只需设置speed变量即可控制方向盘,因为spinning始终为true