AS2の外部クラス内で簡潔にonEnterFrameを有効にする
AS2において、MovieClipクラスを継承したクラス内でonEnterFrameなどのイベントを実行する場合。
通常であれば実態を持ったMovieClipシンボルへリンケージし、それをムービー上に配置しないとイベントは実行されません。
通常はあまり問題ではないのですが、各種処理をまとめたマネージャークラスのような実態を持たないクラスを作成する場合にはあまりスマートでない構造になります。
上記の問題を回避するには、OnEnterFrameBeaconクラスを使用します。
import mx.transitions.OnEnterFrameBeacon;
class Test extends MovieClip {
function Test(){
OnEnterFrameBeacon.init();
MovieClip.addListener(this);
run();
}
function run(){
var n=0;
onEnterFrame = function(){
trace("count = "+n++)
}
}
}
上記のコードでは、enterFrameの複数登録などのOnEnterFrameBeaconクラスの利点は失われてしまいますが、手っ取り早く簡潔にクラス内でonEnterFrameを有効にするといった点で役立ちます。
トラックバック(0)
このブログ記事を参照しているブログ一覧: AS2の外部クラス内で簡潔にonEnterFrameを有効にする
このブログ記事に対するトラックバックURL: http://helvetica.55roman.com/mt-tb.cgi/3

コメントする