父Flash中的影片剪辑移动停止整部电影

时间:2013-10-26 19:40:32

标签: actionscript-3 flash for-loop

我对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未在循环内触发。

1 个答案:

答案 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次动画...