EnterFrameイベントの前後を取得する

なんか必用になることあるなぁというメモ。
というか明日中に実装しないとアレだけど、今記憶力が超低下してるので忘れる前にメモ。
_level0に書いてあった方法でもアリなんだけど、Event.RENDERとかあまり信用できない偏見があるので独自実装することにした。

Event.PRE_ENTER_FRAME
Event.POST_ETNER_FRAME

の2つのイベントが欲しい。
とりあえず、EnterFrameBeaconクラスを作ってStageのEnterFrameイベントを拾うようにして、以下のように転送すればいいはず。


//Event.ENTER_FRAMEの前後に割り込んでイベントを発射
function enterFrameHandler(e:Event):void
{
dispatchEvent(new Event("onPreEnterFrame"));
dispatchEvent(e);
dispatchEvent(new Event("onPostEnterFrame"));
}

で、以後エンターフレーム使うときはEnterFrameBeaconクラスを使えば、全体のエンターフレーム開始前、開始後のイベントを取れるようになる・・・はず。多分。

っていうか、他人のエンターフレームの更新結果を見張って更新するようなオブジェクトが必要だと、ポストエンターフレームとれないとつらいね。移動する2オブジェクトを線で結ぶとかが、イレギュラーに必用になった場合とかそういうの。

コメントをどうぞ