actionscript3.0でTimerを使って一定時間ごとに処理を行う方法をメモ。

一定時間ごとに処理を行う場合Timerクラスを使います。

Timerの使い方

Timer(時間(ミリ秒),回数)
※回数を指定しない場合は無限に繰り返す。

例えば、3秒ごとにフレームを一つずつ移動させるといった場合は、

//タイマー処理
var timer:Timer=new Timer(3000);

//イベント作成
timer.addEventListener(TimerEvent.TIMER, startTimer);

// タイマーのカウントを開始する
timer.start();

//指定した時間ごとの処理内容
function startTimer(event:TimerEvent) {
   //フレームを一つ先に進める
   var Cframe:Number = this.currentFrame + 1;
   gotoAndStop(Cframe);
}

のようになります。

もし5回繰り返したらタイマーを止めるようにする場合は

//タイマー処理
var timer:Timer=new Timer(3000,5);

のように回数を指定し、

// タイマーのカウントを停止する
function stopTimer(event:TimerEvent) {
   timer.stop();
}
timer.addEventListener(TimerEvent.TIMER_COMPLETE, stopTimer);

を追加し、指定回数に達したら処理を止めればOK

ちなみにタイマーを止めたりスタートさせたりする場合は

//タイマーを止める
timer.stop();
//タイマーをスタート
timer.start();

を記述すればOK