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("タイマーが完了");
}
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プロパティを使うことで、繰り返し全体の何回目かを取得することができる。
これによって、偶数、奇数の場合で処理を分けたりもできるようだ。
注意点としては、タイマーに指定した処理間隔にズレが生じる場合があるらしい。
これは、呼び出された関数で処理が完了してからの間隔であるため、関数内で時間がかかると、その分、次の処理に遅れが出るとのこと。
# どこかの記事で読んだだけで、自分は未確認・・・。