Skip to content

Instantly share code, notes, and snippets.

@ngs
Created January 21, 2011 02:09
Show Gist options
  • Select an option

  • Save ngs/789128 to your computer and use it in GitHub Desktop.

Select an option

Save ngs/789128 to your computer and use it in GitHub Desktop.
AS3: fl.motion.Animator についてメモ

Adobe ActionScript 3.0 コンポーネントリファレンスガイド / Animatorクラス より

Animator クラスのメソッドを関数内で呼び出す場合、Animator インスタンスを関数の外部で宣言し、オブジェクトのスコープが関数内に限定されないようにします。 関数の内部でインスタンスを宣言すると、関数の最後に、 Flash Player の "ガベージコレクション" ルーチンによって Animator インスタンスが削除され、ターゲットオブジェクトのアニメーションが無効になります。

package org.ngsdev.test {
import flash.display.Sprite;
import flash.display.MovieClip;
import fl.motion.Animator;
import fl.motion.MotionEvent;
class AnimatorTest extends Sprite {
var hoge_animator:Animator; //ここに宣言しないと動かない。
var hoge_mc:MovieClip;
public function AnimatorTest() {
var hoge_animxml:XML = <Motion ....>....</Motion>;
hoge_mc = new hoge();
addChild(hoge_mc);
hoge_animator = new Animator(hoge_xml, hoge_mc);
//開始と終了をListen
hoge_animator.addEventListener(MotionEvent.MOTION_START,_motionStart);
hoge_animator.addEventListener(MotionEvent.MOTION_END,_motionEnd);
hoge_animator.play();
}
private function _motionStart(e:Event) {
trace(["start animation", name]);
}
private function _motionEnd(e:Event) {
trace(["end animation", name]);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment