【问题标题】:Flash - stop animation from loopingFlash - 停止动画循环
【发布时间】:2012-05-17 21:02:32
【问题描述】:

我有一个 Flash 横幅,我需要一些元素在您滚动其父级时为其设置动画,然后停止,然后在您滚动时运行不同的动画。只要用户表现得很好,这可以正常工作,但是如果您晃动鼠标以便快速连续地进行几次翻转/滚动,它将使动画陷入无限循环。有没有其他人遇到过这个问题?

我的动作脚本是:

on (rollOver) {
    //frames 2 - 10 are the "turn on" animation
    this.gotoAndPlay(2);
    //frames 11 - 25 are house_three's "turn on" animation
    _root.house_three.gotoAndPlay(11);
}
on (rollOut) {
    //frames 11 - end are the "turn off" animation
    this.gotoAndPlay(11);
    //frames 26 - end are house_three's "turn off" animation
    _root.house_three.gotoAndPlay(26);
}

house_three(在这种情况下)在第 10、25 帧和最后一帧上具有 stop();s,当前对象在第 1、10 和最后一帧上具有 stop();s,因此不应播放过去无论如何。

我认为这可能与许多动画实例排队有关,但这会使动画运行多次然后停止(对吗?),但它似乎无限运行。

【问题讨论】:

    标签: flash animation actionscript actionscript-2 banner


    【解决方案1】:

    尝试在您的 rollOver 和 rollOut 中设置一个测试,以查看横幅当前是否正在播放。如果是,请停止,然后播放。

    if(this.isPlaying)
    {
        this.stop();
        this.gotoAndPlay(2)
    }
    

    【讨论】:

    • 我发现了问题所在。为了最小化文件大小,我在我的电影对象中使用了动作脚本“暂停,然后播放”功能,正是这些暂停被无限排队。一旦我删除了这些并一次复制相同的帧几秒钟,它就可以正常工作了。不过感谢您的帮助,我认为这个解决方案可能也会这样做(无法检查,一旦我找到解决方案就摆脱了错误的代码)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    • 2013-03-06
    • 1970-01-01
    • 2019-05-03
    • 1970-01-01
    • 2015-06-23
    相关资源
    最近更新 更多