パッケージ | flash.utils |
クラス | public class Timer |
継承 | Timer EventDispatcher Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
start()
メソッドを使用します。timer
イベントのイベントリスナーをセットアップコードに追加すると、そのタイマー間隔で実行されます。
Timer オブジェクトを作成して、1 回実行または指定した間隔で繰り返して定時にコードを実行できます。SWF ファイルのフレームレートまたはランタイムの環境(使用可能なメモリやその他の要素) に応じて、ランタイムではややオフセットの間隔でイベントを送出できます。例えば、SWF ファイルを 10 fps(1 秒あたりのフレーム数)、つまり 100 ミリ秒間隔で再生するように設定し、80 ミリ秒でイベントが発生するようにタイマーを設定すると、100 ミリ秒に近い間隔でイベントが送出されます。また、メモリに負荷のかかるスクリプトでも、イベントの送出がずれる場合があります。
プロパティ | 定義元 | ||
---|---|---|---|
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
currentCount : int [読み取り専用]
ゼロで開始してから現在までに起動されたタイマーの合計回数です。 | Timer | ||
delay : Number
ミリ秒単位で指定したタイマーイベント間の遅延です。 | Timer | ||
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 | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher |
イベント | 概要 | 定義元 | ||
---|---|---|---|---|
[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | |||
[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | |||
Timer オブジェクトが Timer.delay プロパティに従って指定された時間間隔に達するたびに送出されます。 | Timer | |||
Timer.repeatCount で設定された数の要求が完了するたびに送出されます。 | Timer |
currentCount | プロパティ |
delay | プロパティ |
delay:Number
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ミリ秒単位で指定したタイマーイベント間の遅延です。タイマーの実行中に遅延間隔を設定すると、同じ repeatCount
の繰り返し回数でタイマーが再起動されます。
注意:20 ミリ秒未満の遅延
は推奨されません。タイマー周波数は 60 フレーム/秒に制限されているので、16.6 ミリ秒未満の遅延はランタイムの問題を発生させます。
実装
public function get delay():Number
public function set delay(value:Number):void
例外
Error — 指定した遅延がマイナスの場合、または有限数でない場合は、例外が発生します。
|
repeatCount | プロパティ |
repeatCount:int
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
タイマーを実行する合計回数を設定します。繰り返し回数を 0 に設定すると、stop()
メソッドが呼び出されるまで、またはプログラムによって停止されるまで、タイマーは最大 24.86 日として無限に継続されます。繰り返し回数をゼロ以外に指定すると、タイマーは指定した回数実行されます。currentCount
以下の合計を repeatCount
に設定するとタイマーは停止し、再起動されません。
実装
public function get repeatCount():int
public function set repeatCount(value:int):void
running | プロパティ |
Timer | () | コンストラクター |
public function Timer(delay:Number, repeatCount:int = 0)
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
delay
および repeatCount
に指定した状態で、新しい Timer オブジェクトを作成します。
タイマーが自動的に起動しない場合は、start()
メソッドを呼び出して起動させる必要があります。
delay:Number — ミリ秒単位で指定したタイマーイベント間の遅延です。20 ミリ秒未満の遅延 は推奨されません。タイマー周波数は 60 フレーム/秒に制限されているので、16.6 ミリ秒未満の遅延はランタイムの問題を発生させます。
| |
repeatCount:int (default = 0 ) — 繰り返しの回数を指定します。ゼロの場合、タイマーは最大 24.86 日(int.MAX_VALUE + 1)として無限に繰り返されます。ゼロ以外に指定すると、タイマーは指定した回数実行された後に停止します。
|
例外
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 enter 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
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
タイマーが実行されている場合はタイマーを停止して、ストップウォッチのリセットボタンのように、currentCount
プロパティを 0 に戻します。その後、start()
が呼び出されると、repeatCount
値で指定した繰り返しの回数のタイマーインスタンスが実行されます。
関連する API エレメント
start | () | メソッド |
public function start():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
タイマーがまだ実行されていない場合は、タイマーを起動します。
stop | () | メソッド |
public function stop():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
タイマーを停止します。stop()
の後に start()
が呼び出されると、repeatCount
プロパティで指定した残りの繰り返しの回数のタイマーインスタンスが実行されます。
関連する API エレメント
timer | イベント |
flash.events.TimerEvent
プロパティ TimerEvent.type =
flash.events.TimerEvent.TIMER
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Timer オブジェクトが Timer.delay
プロパティに従って指定された時間間隔に達するたびに送出されます。
type
プロパティ(timer
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 時間間隔が経過した Timer オブジェクトです。 |
timerComplete | イベント |
flash.events.TimerEvent
プロパティ TimerEvent.type =
flash.events.TimerEvent.TIMER_COMPLETE
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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); } } }
Tue Jun 12 2018, 10:34 AM Z