2012-01-06 23 views
2

我是Flash,Actionscript和Animation的新手。我的背景是Java。Flash動畫遊戲中的每一幀會發生什麼

我想了解Flash中的動畫。我想知道在每個movie_clip幀中會發生什麼。閃光燈舞臺以12或60 fps運行。所有項目都有不同的動畫。現在遊戲中的5-6個不同物體的動畫如何發生?

是否有計算的時間步或增量?所有動畫都一樣嗎?或者不同的動畫必須有不同的三角洲?在某個事件或每個幀中計算三角洲。

以幀爲基礎進行動畫更好,即60幀放置稍微不同的圖片以使角色走路?

使用actionscript gotoAndStop或其他goto框架函數以編程方式進行動畫效果會更好嗎?

如果這個問題不清楚,我很抱歉,因爲我有點困惑。

感謝您的幫助!

回答

0

如果您在時間線上進行動畫製作,那麼Flash Player將嘗試以您在項目屬性中設置的幀率呈現舞臺。舞臺上的每個影片剪輯將以相同的速率更新。但是,如果舞臺上存在複雜的動畫或多個對象,則Flash Player可能難以跟上該幀速率,因此運行速度會變慢。它運行的計算機的速度也會影響到這一點。因此,如果您將電影設置爲以30 fps運行,則Flash將盡最大努力每秒更新動畫30次,但它可能只能以20或25的實際速度運行。或者它可能在大多數情況下運行時間爲30 ,但是當事情變得複雜時就會下降。請注意,它不會跳過幀,它會播放更慢。

因此,通過編程創建動畫通常會更好,因此您可以計算時間增量並根據此時間移動對象。這樣,如果幀頻下降,動畫可能會變得矮胖,但事情不會減慢。這在遊戲中可能非常重要。

您將通過使用精靈表和「blitting」您的對象到位圖畫布來獲得最佳性能。基本上,您將動畫的所有幀放在單個圖像中,然後單獨複製出來並將它們合成爲代表遊戲屏幕的單個大型位圖。這將比將每個圖像放在movieClip中的單獨幀上快得多。

+0

謝謝卡丁,我認爲把動畫的所有幀上一個精靈,然後塊傳輸他們在畫布上編程的這一過程適用於遊戲相關的對象英雄即走循環。它是否也適用於非遊戲相關的cosmatic動畫,即NPC還是雲彩等?這種方法稱爲補間或補間別的東西? – user618489 2012-01-07 20:20:47

+0

這確實取決於你的遊戲和你的表現需求,但它很可能適用於你遊戲中的所有元素。通常我會離開爲正常閃光精靈或影片剪輯的唯一要素是事情需要鼠標交互,僅僅是因爲他們都建在鼠標事件的能力。 – Cadin 2012-01-08 18:12:21

+0

補間是另一回事。補間只是意味着你設置了一個動畫的開始和結束(也可能是中間的'關鍵幀'),並且軟件填充了beTWEEN動畫。因此,「補間」可以指在時間軸上使用關鍵幀完成的動作或形狀補間,或者用TweenLite或Tweener等補間引擎完成的編程動畫。 – Cadin 2012-01-08 18:14:21

0

我在Flash方面的經驗非常有限,但從我所知道的有兩種主要類型的動畫。您可以通過關鍵幀一步一步地進行動畫製作,您基本上繪製每一幀,或者在繪製動畫開始和結束位置的位置有「補間」,然後Flash會爲您計算中間幀。我猜想哪個是「更好」,那就是補間,因爲在SWF文件中保存的數據較少。