頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


自作のcallLater関数(笑)

またか、、、
AS3でしょっちゅう出会うトラブルです、ホント。
オブジェクトの widthプロパティがオブジェクト作成直後に取得できないってアレです。
慣れるとああ、そうだった、で済みますが最初はどういうこった?どないすんねん?と悩んだものです。

今やってるのがFlexではなくcallLaterもできないから、自分でMyFunction.callLater()ってなstatic関数を作ってしまいました。
↓コードはこんな感じで(読みにくくてごめんなさい)。

public static function callLater(func:Function , spr:Sprite):void {
spr.addEventListener(Event.ENTER_FRAME , efHandler);
var step:uint = 0;
function efHandler(e:Event):void {
if (step >= 1) {
spr.removeEventListener(Event.ENTER_FRAME , efHandler);
func();
}else {
step++;
}
}
}


リスナー設定用にSpriteのオブジェクトを渡し、1フレーム進んだら指定の関数をコールする、ってだけ。

うーん。
なんというか、苦し紛れというか、美しくないというか、、、
そもそも、1フレーム遅れるのでかなり要注意だよ、全く。

<< 第446回のBIG1000を買ってみた  TopPage  手書き風の中国語・タイ語の無料フォントないかなあ? >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/338-7e008779




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad