Flash - 停止动画循环
Posted
技术标签:
【中文标题】Flash - 停止动画循环【英文标题】:Flash - stop animation from looping 【发布时间】: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,因此不应播放过去无论如何。
我认为这可能与许多动画实例排队有关,但这会使动画运行多次然后停止(对吗?),但它似乎无限运行。
【问题讨论】:
【参考方案1】:尝试在您的 rollOver 和 rollOut 中设置一个测试,以查看横幅当前是否正在播放。如果是,请停止,然后播放。
if(this.isPlaying)
this.stop();
this.gotoAndPlay(2)
【讨论】:
我发现了问题所在。为了最小化文件大小,我在我的电影对象中使用了动作脚本“暂停,然后播放”功能,正是这些暂停被无限排队。一旦我删除了这些并一次复制相同的帧几秒钟,它就可以正常工作了。不过感谢您的帮助,我认为这个解决方案可能也会这样做(无法检查,一旦我找到解决方案就摆脱了错误的代码)。以上是关于Flash - 停止动画循环的主要内容,如果未能解决你的问题,请参考以下文章