2013-10-26 38 views
0

我對Flash有點新。當我開發我的電影時,我介紹了3層順序動畫,我決定我想循環X次。所以我複製了這些幀,創建了一個新的Movie Clip符號,將這些幀粘貼到它中,然後刪除舞臺上的原始文件並將其作爲實例(my_animation)拖拽到位。迄今爲止都很好。

但是,當我播放整個電影時,my_animation無限循環,因此我在該影片剪輯中添加了stop()動作。這工作 - 玩一次。然後,我添加了以下作爲行動的主要場景非常最後一個關鍵幀,試圖得到my_animation循環X倍:父Flash內的影片剪輯移動停止整個影片

var i = 1; 
for (i = 1;i < 5;i++) 
{ 
    my_animation.play(); 
} 
stop(); 

然而,my_animation仍然只播放一次。它似乎沒有像我期望的那樣循環。我也試過用替換gotoAndPlay(117),其中117是包含影片剪輯的框架,但仍然相同。

任何幫助表示讚賞。 謝謝

更新:我在循環中添加了trace(i);語句。在輸出選項卡中,我看到:

1 
2 
3 
4 

...等等。 SO - my_animation不在循環內觸發。

回答

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次......

+0

謝謝。您的代碼導致整個場景1循環,因此我在第一個'my_animation.play();'調用之前添加了一個「stop()」。這防止場景1循環,事實上 - my_animation然後開始循環,如我所願。然而,它繼續永遠循環.... – Tony

+0

一個小小的試驗/錯誤,我已經通過'my_animation'中的'stop();'並添加一個'my_animation.stop();'到你的代碼爲'else my_animation.stop();'。謝謝 – Tony