作成中のアニメーション用のパペット リグを作成しています。MovieClip クラスから継承する 2 つのカスタム クラスを作成しました。1 つはカメラの方を向いてアニメートしている頭で、もう 1 つは同じ頭の 3/4 ビューです。両方のコンストラクターを変更して、関数を呼び出すイベント リスナーを追加しました。この関数は、他の関数などfacRig
を呼び出して頭をアニメートするのに役立ちます。moveEyes(), moveMouth()
public function _F__MichaelFULLHEAD() {
super();
faceRig("OverLoad"); //<--bug workaround
this.gotoAndPlay(MovieClip(root).currentFrame); //Sync movieclips with timeline
addEventListener(Event.ENTER_FRAME,faceRig);
}
ただし、この関数は、MovieClip
がタイムラインに表示された 1 フレーム後に常に呼び出されます。前面ビューと 3/4 ビューを常に切り替える必要があるため、この遅延によりアニメーション化が不可能になります (タイムラインで新しいキーフレームを作成し、ライブラリからシンボルをドラッグして切り替えます)。切り替えるたびに、口がしゃべらず、目が動かないフレームが 1 コマあります。
「バグの回避策」は問題を解決します。いずれかの頭が初めてステージに表示されると、すぐにアニメーションが開始されますが、正面図から 3/4 のビューに切り替えて正面図に戻ると、正面図が再び遅延します。
これは、コンストラクターが再度実行されないことが原因であると思われるため、ヘッドの各インスタンスに名前を付けてオブジェクトのプロパティ ボックスで一意にしようとしfrontHead1
ましfrontHead2
たが、まったく役に立ちませんでした。