CorrectTimer

CorrectTimer

flash.utils.Timerは長時間の駆動や大量のTIMERイベント発行の必要があるプログラムではTIMERイベントの発行毎に、その処理時間がタイマーをずらしていく問題がありました。CorrectTimerでは、長時間のタイマー駆動や大量のTIMERイベント発行の必要があるプログラムで精度の高いタイマーを提供します。

主な特徴:

  • 大量のTIMERイベントを発行する処理の場合Timerクラスよりも精度の高い時間計測が可能

Timerクラスでは0.2秒を500回などのようなdelayが短くTIMERイベント発行回数が多い処理などではかなりのタイムラグが発生してしまいますが、CorrectTimerでは極端に短いスパンや長いスパンでタイマーを利用する際にTimerに比べ高い精度が出るようになっています。 ※例としてDelay:50ミリ秒 RepeatCount:1000回(合計50秒)の場合、Timerクラスでは約80秒、CorrectTimerクラスでは約49.80秒の値が出ます(参考値です)

更新情報

  • 2010/06/01 sparkprojectにコミットしました。

ライセンス

動作環境

  • ランタイムバージョン:Flash Player 10, AIR 1.5 以上

ダウンロード

使い方

使い方は既存のTimerクラスとほぼ同一の動作をします。

簡単なサンプルはこちら

プロパティ

delay:Number 秒単位で指定したタイマーイベント間の遅延です。(既存のTimerクラスのミリ秒単位とは違うので注意)
repeatCount:int タイマーを実行する合計回数を設定します。
running:Boolean タイマーの現在の状態です。タイマーの実行中は true、それ以外は false です。

メソッド

Timer (delay:Number, repeatCount:int = 0) コンストラクタ
reset ():void タイマーが実行されている場合はタイマーをリセットします(稼動中の場合は0から再カウント)。
start ():void タイマーがまだ実行されていない場合は、タイマーを起動します。
stop ():void タイマーを停止します。

イベント

TIMER delayプロパティで設定された時間間隔に達するたびに送出されます。
TIMER_COMPLETE repeatCountで設定された回数に達した際に送出されます。