| パッケージ | flash.utils |
| Class | public class Timer |
| 継承 | Timer EventDispatcher Object |
start() メソッドを使用します。timer イベントのイベントリスナーをセットアップコードに追加すると、そのタイマー間隔で実行されます。
Timer オブジェクトを作成して、1 回実行または指定した間隔で繰り返して定時にコードを実行できます。Flash Player または Adobe AIR では、SWF ファイルのフレームレートまたは Flash Player の環境 (使用可能なメモリやその他の要素) によっては、イベントを送出する間隔が少しずれる場合があります。たとえば、SWF ファイルを 10 fps (1 秒あたりのフレーム数)、つまり 100 ミリ秒間隔で再生するように設定し、80 ミリ秒でイベントが発生するようにタイマーを設定すると、100 ミリ秒に近い間隔でイベントが送出されます。また、メモリに負荷のかかるスクリプトでも、イベントの送出がずれる場合があります。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。 | Object | |
| currentCount : int [読み取り-専用]
ゼロで開始してから現在までに起動されたタイマーの合計回数です。 | Timer | ||
| delay : Number
ミリ秒単位で指定したタイマーイベント間の遅延です。 | Timer | ||
![]() | prototype : Object [静的]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。 | Object | |
| repeatCount : int
タイマーを実行する合計回数を設定します。 | Timer | ||
| running : Boolean [読み取り-専用]
タイマーの現在の状態です。タイマーの実行中は true、それ以外は false です。 | Timer | ||
| メソッド | 定義元 | ||
|---|---|---|---|
delay および repeatCount に指定した状態で、新しい Timer オブジェクトを作成します。 | Timer | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | |
![]() |
イベントをイベントフローに送出します。 | EventDispatcher | |
![]() |
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | |
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() |
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
![]() |
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | |
タイマーが実行されている場合はタイマーを停止して、ストップウォッチのリセットボタンのように currentCount プロパティを 0 に戻します。 | Timer | ||
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
タイマーがまだ実行されていない場合は、タイマーを起動します。 | Timer | ||
タイマーを停止します。 | Timer | ||
![]() |
指定されたオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。 | Object | |
![]() |
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher | |
| イベント | 概要 | 定義元 | ||
|---|---|---|---|---|
![]() | Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | ||
![]() | Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | ||
| Timer オブジェクトが Timer.delay プロパティに従って指定された時間間隔に達するたびに送出されます。 | Timer | |||
| Timer.repeatCount で設定された数の要求が完了するたびに送出されます。 | Timer | |||
| currentCount | プロパティ |
currentCount:int [読み取り-専用] ゼロで開始してから現在までに起動されたタイマーの合計回数です。タイマーをリセットした場合は、リセット以降の回数のみがカウントされます。
public function get currentCount():int| delay | プロパティ |
delay:Number [読み取り-書き込み]
ミリ秒単位で指定したタイマーイベント間の遅延です。タイマーの実行中に遅延間隔を設定すると、同じ repeatCount の繰り返し回数でタイマーが再起動されます。
public function get delay():Number public function set delay(value:Number):voidError — 指定した遅延がマイナスの場合、または有限数でない場合は、例外が発生します。
|
| repeatCount | プロパティ |
repeatCount:int [読み取り-書き込み]
タイマーを実行する合計回数を設定します。繰り返し回数を 0 に設定すると、stop() メソッドが呼び出されるまで、またはプログラムによって停止されるまで、タイマーは無限に継続されます。繰り返し回数をゼロ以外に指定すると、タイマーは指定した回数実行されます。currentCount 以下の合計を repeatCount に設定するとタイマーは停止し、再起動されません。
public function get repeatCount():int public function set repeatCount(value:int):void| running | プロパティ |
running:Boolean [読み取り-専用]
タイマーの現在の状態です。タイマーの実行中は true、それ以外は false です。
public function get running():Boolean| Timer | () | コンストラクタ |
public function Timer(delay:Number, repeatCount:int = 0)
delay および repeatCount に指定した状態で、新しい Timer オブジェクトを作成します。
タイマーが自動的に起動しない場合は、start() メソッドを呼び出して起動させる必要があります。
delay:Number — ミリ秒単位で指定したタイマーイベント間の遅延です。
| |
repeatCount:int (default = 0) — 繰り返しの回数を指定します。ゼロを指定すると、タイマーは無限に繰り返されます。ゼロ以外に指定すると、タイマーは指定した回数実行された後に停止します。
|
Error — 指定した遅延がマイナスの場合、または有限数でない場合
|
30 秒ごとに起動し (遅延を 30000 ミリ秒に設定)、合計 90 秒間に 3 回起動を繰り返す Timer オブジェクトが作成されます。(タイマーは 3 回で停止します。)
myTimer タイマーに 2 つのイベントリスナーが追加されます。1 つ目のイベントリスナーは、タイマーが起動するたびに発生する TimerEvent.TIMER イベントによってトリガされます。timerHandler() メソッドによって statusTextField テキストフィールドのテキストが変更され、残りの秒数が反映されます。
メモ : Timer クラスは、起動する必要がある回数 (repeats) を管理します。これは、currentCount プロパティの数値を増やすことによって実行されます。
最後にタイマーが呼び出された後、TimerEvent.TIMER_COMPLETE イベントが送出され、completeHandler() メソッドが呼び出されます。completeHandler() メソッドによって inputTextField テキストフィールドの型が INPUT から DYNAMIC に変更されます。これは、ユーザーがテキストを入力または変更できなくなることを意味します。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.text.TextFieldAutoSize;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.events.Event;
public class Timer_constructorExample extends Sprite {
private var statusTextField:TextField = new TextField();
private var inputTextField:TextField = new TextField();
private var delay:uint = 30000;
private var repeat:uint = 3;
private var myTimer:Timer = new Timer(delay, repeat);
public function Timer_constructorExample() {
inputTextField.x = 10;
inputTextField.y = 10;
inputTextField.border = true;
inputTextField.background = true;
inputTextField.height = 200;
inputTextField.width = 200;
inputTextField.multiline = true;
inputTextField.wordWrap = true;
inputTextField.type = TextFieldType.INPUT;
statusTextField.x = 10;
statusTextField.y = 220;
statusTextField.background = true;
statusTextField.autoSize = TextFieldAutoSize.LEFT;
myTimer.start();
statusTextField.text = "You have " + ((delay * repeat) / 1000)
+ " seconds to write your response.";
myTimer.addEventListener(TimerEvent.TIMER, timerHandler);
myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, completeHandler);
addChild(inputTextField);
addChild(statusTextField);
}
private function timerHandler(e:TimerEvent):void{
repeat--;
statusTextField.text = ((delay * repeat) / 1000) + " seconds left.";
}
private function completeHandler(e:TimerEvent):void {
statusTextField.text = "Times Up.";
inputTextField.type = TextFieldType.DYNAMIC;
}
}
}
| reset | () | メソッド |
public function reset():void
タイマーが実行されている場合はタイマーを停止して、ストップウォッチのリセットボタンのように、currentCount プロパティを 0 に戻します。その後、start() が呼び出されると、repeatCount 値で指定した繰り返しの回数のタイマーインスタンスが実行されます。
関連項目
| start | () | メソッド |
public function start():voidタイマーがまだ実行されていない場合は、タイマーを起動します。
| stop | () | メソッド |
public function stop():void
タイマーを停止します。stop() の後に start() が呼び出されると、repeatCount プロパティで指定した残りの繰り返しの回数のタイマーインスタンスが実行されます。
関連項目
| timer | イベント |
flash.events.TimerEventflash.events.TimerEvent.TIMER
Timer オブジェクトが Timer.delay プロパティに従って指定された時間間隔に達するたびに送出されます。
type プロパティ (timer イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 時間間隔が経過した Timer オブジェクトです。 |
| timerComplete | イベント |
flash.events.TimerEventflash.events.TimerEvent.TIMER_COMPLETE
Timer.repeatCount で設定された要求数を完了するたびに送出されます。
type プロパティ (timerComplete イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 要求を完了した Timer オブジェクトです。 |
TimerExample を使用して、リスナーメソッド timerHandler() が新しい TimerEvent を受け取り、送出する方法を示します。タイマーは、start() が呼び出されたときに起動し、その後にタイマーイベントが送出されます。
package {
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.display.Sprite;
public class TimerExample extends Sprite {
public function TimerExample() {
var myTimer:Timer = new Timer(1000, 2);
myTimer.addEventListener("timer", timerHandler);
myTimer.start();
}
public function timerHandler(event:TimerEvent):void {
trace("timerHandler: " + event);
}
}
}
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/utils/Timer.html