ActionScript3.0 タイマー処理

| コメント(0) | トラックバック(0)
ASにはSleep関数が存在しないため、タイマーによる疑似的なスリープを設定する必要がある。


var timer:Timer = new Timer(1000 ,1); // 1000ミリ秒 = 1秒
timer.addEventListener(TimerEvent.TIMER, timerFunc);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, timerCompFunc);
timer.start();

function timerFunc(Event){
    trace("予定する繰り返し回数:"+timer.repeatCount);
    trace("現在の繰り返し回数 :"+timer.currentCount);
}

function timerCompFunc(Event){
    trace("タイマーが完了");
}


1回だけ動かす場合(Sleepとして使う場合も)、TIMER、TIMER_COMPLETE のどちらを使っても同じ結果になる。
まぁ、1回だけならTIMERでやっちゃうかな。

repeatCount、currentCountプロパティを使うことで、繰り返し全体の何回目かを取得することができる。
これによって、偶数、奇数の場合で処理を分けたりもできるようだ。

注意点としては、タイマーに指定した処理間隔にズレが生じる場合があるらしい。
これは、呼び出された関数で処理が完了してからの間隔であるため、関数内で時間がかかると、その分、次の処理に遅れが出るとのこと。
 # どこかの記事で読んだだけで、自分は未確認・・・。

トラックバック(0)

トラックバックURL: http://www.siesta-design.com/mtadmin/mt-tb.cgi/4

コメントする

2011年1月

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31