我正在爲我製作的動畫創建一個木偶裝備。我創建了兩個從MovieClip類繼承的自定義類。一個是我正面向攝像機進行動畫製作的頭部,另一個是同一個頭部的3/4視圖。我修改這兩個構造函數添加一個事件偵聽器的MovieClip
出現後調用函數facRig
這有助於我通過調用其他功能,如moveEyes(), moveMouth()
等動畫頭Actionscript 3代碼一幀延遲
public function _F__MichaelFULLHEAD() {
super();
faceRig("OverLoad"); //<--bug workaround
this.gotoAndPlay(MovieClip(root).currentFrame); //Sync movieclips with timeline
addEventListener(Event.ENTER_FRAME,faceRig);
}
但是,函數總是被稱爲一幀在時間軸上。這種延遲使得動畫變得不可能,因爲我必須不斷地在前視圖和3/4視圖之間切換(我通過在時間線中創建新的關鍵幀並從庫中拖出符號來切換)。每次切換時都會有一幀,嘴巴不說話,眼睛也不動。
「bug解決方法」有點解決了這個問題。現在,任何一個頭部出現在舞臺上時,立即開始動畫,但如果從前視圖切換到3/4視圖回到前視圖,則前視圖會再次延遲。
我懷疑這可能是因爲構造函數不會再次所以我嘗試通過命名並frontHead1
和frontHead2
在對象的屬性框,使獨特的頭的每個實例上運行,但它並沒有幫助的。