我对Flash有点新鲜。当我开发我的电影时,我介绍了3层顺序动画,我决定要循环X次。因此,我复制了帧,创建了一个新的Movie Clip符号,将帧粘贴到其中,然后删除了舞台上的原始文件,并将此新剪辑作为实例(my_animation
)拖动到其位置。到目前为止都很好。
但是,当我播放整部电影时,my_animation
无限循环,所以我在该影片剪辑中添加了一个stop()动作。这工作 - 播放一次。然后我在主场景的最后一个关键帧上添加以下内容作为动作,尝试让my_animation循环X次:
var i = 1;
for (i = 1;i < 5;i++)
{
my_animation.play();
}
stop();
但是,my_animation
仍然只播放一次。它似乎不像我期望的那样循环。我还尝试将my_anmiation.play()
替换为gotoAndPlay(117)
,其中117
是包含影片剪辑的帧,但仍然相同。
任何帮助表示赞赏。
由于
更新:我在循环中添加了trace(i);
语句。在“输出”选项卡中,我看到:
1
2
3
4
...等。 SO - my_animation
未在循环内触发。
答案 0 :(得分:0)
如果你打电话给my_animation.play();在“ for loop”这样的情况下,它只是连续调用5次,它只是启动动画。
如果你打电话给my_animation.play();在my_animation动画期间什么都没有 发生。如果停止了它就会起作用......
。所以你需要监听添加回调以了解动画已经完成,你可以再次开始动画..
var animatedCount:int = 0;
my_animation.addFrameScript(my_animation.totalFrames-1, onMyAnimationEnds);
my_Animation.play();
function onMyAnimationEnds():void{
animatedCount++;
if(animatedCount < 5)
{
my_Animation.play();
}
}
这将为my_animation设置5次动画...