2012-05-29 122 views
0

這是我第一次在論壇發帖,所以先感謝任何花時間閱讀/回答這個問題的人。減慢循環動畫as3

我想要創建的基本上是一個翻轉硬幣動畫,它開始轉速非常快,然後放慢速度停止,隨着(隨機生成的)側停止約8秒後向上。

我已經完成了一個完整的翻轉動畫,它持續了大約半秒鐘,並將它製作成一個動畫片段......現在我被卡住了!

任何想法,我可能會在actionscript3中做這個?

+0

硬信息,告訴你在哪裏卡住了。請告訴我們你已經嘗試了什麼,以及爲什麼它不起作用。如果您需要在MovieClip播放之間暫停,請使用Timer類。或者,如果您需要精確控制MovieClip幀,「MovieClip」類將爲您提供所需的一切。 –

+0

說實話,我沒有真正嘗試過任何東西,因爲我是一個完整的菜鳥。我通常會做的只是簡單地在時間軸上設置動畫,但如果可以在AS中完成,那麼我寧願採取這種路線。我不需要它暫停,我只需要它播放約50次的電影剪輯,每次都比最後一次稍慢 – user1423687

回答

1

最快的方法是使用一些非常基本的動作。首先,創建2個動畫(一個頭,一個尾巴)。現在,您只需要一個框架就可以了,不需要將動畫片段放在舞臺上。使用以下或類似代碼:

var whichSide:int = 0; 
var coin1:coinAnimation1 = new coinAnimation1(); 
var coin2:coinAnimation2 = new coinAnimation2(); 

whichSide = math.Round(math.Random(1)); 

if(whichSide == 1) 
{ 
addChild(coin1); 
} 
else 
{ 
addChild(coin2); 
} 

只是不要忘記右鍵點擊影片剪輯和出口的動作,給影片剪輯類:coinAnimation1和coinAnimation2。

希望這會有所幫助。

+0

謝謝,這真是太棒了:)我應該讓這兩個動畫片段動畫變慢,還是是否有可能使用AS來做那件事? – user1423687

+0

那麼,如果你能弄明白,動畫變得越來越容易,但長動畫有更大的文件大小。如果你用動作來做,它將是一個小小的操作! 大約有3種或4種方法可以使用Actionscript來實現 - 最便宜的方法是逐漸減慢幀速率直到它達到零! (事件:事件) { stage.framerate * = 0.95; }' 這可以工作 – HarryT

+0

感謝你的 - 我真的很感激它,但我有其他動畫同時進行,所以我不能降低幀頻。文件大小對於這個項目並不重要,所以我認爲我只是爲它製作動畫。再次感謝! – user1423687

0

我已經使用Tweener類在'Keyframes'上完成了這樣的動畫。您可以輕鬆地補間與特定的過渡關鍵幀參數...

基本例如:

Tweener.addTween(myMovieClip, {_frame:10, time:2.5}); 

更多關於中間人here