nmtysh.log

Tech系のネタや日々の独り言などを書いています。

Timer で関数が実行されない。

Flash Builder 4.6 にて、こう書くと何故か実行されない。

var timer:Timer = new Timer(400, 1);
timer.addEventListener(TimerEvent.TIMER, hogehoge);
timer.start();

protected function hogehoge():void {
    // hogehoge
}


なので、無名関数を一段かませる。

var timer:Timer = new Timer(400, 1);
timer.addEventListener(TimerEvent.TIMER, function ():void {
    hogehoge();
});
timer.start();

protected function hogehoge():void {
    // hogehoge
}

function (ev:TimerEvent):void で無くとも一段かませると動くようだ。

理由はよくわかない。

2013/02/06 追記:
サンプルコードに timer.start(); を記述し忘れていました。申し訳ありません。