パッケージflash.utils
クラスpublic class Timer
継承Timer Inheritance EventDispatcher Inheritance Object

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

Timer クラスは Flash Player タイマーへのインターフェイスです。新しい Timer オブジェクトを作成すると、指定したタイムシーケンスでコードを実行できます。タイマーを開始するには start() メソッドを使用します。timer イベントのイベントリスナーをセットアップコードに追加すると、そのタイマー間隔で実行されます。

Timer オブジェクトを作成して、1 回実行または指定した間隔で繰り返して定時にコードを実行できます。SWF ファイルのフレームレートまたは Flash Player の環境 (使用可能なメモリやその他の要素) に応じて、Flash Player ではややオフセットの間隔でイベントを送出できます。たとえば、SWF ファイルを 10 fps (1 秒あたりのフレーム数)、つまり 100 ミリ秒間隔で実行するように設定し、80 ミリ秒でイベントを発生するようにタイマーを設定すると、Flash Player ではおよそ 100 ミリ秒間隔でイベントが実行されます。また、メモリに負荷のかかるスクリプトでも、イベントがオフセットされる場合があります。

例を表示

関連項目

日付と時刻の操作
タイマー間隔の制御


パブリック プロパティ
 プロパティ定義元
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  currentCount : int
[read-only] ゼロで開始してから現在までに起動されたタイマーの合計回数です。
Timer
  delay : Number
ミリ秒単位で指定したタイマーイベント間の遅延です。
Timer
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  repeatCount : int
タイマーを実行する合計回数を設定します。
Timer
  running : Boolean
[read-only] タイマーの現在の状態です。タイマーの実行中は true、それ以外は false です。
Timer
パブリック メソッド
 メソッド定義元
  
Timer(delay:Number, repeatCount:int = 0)
delay および repeatCount に指定した状態で、新しい Timer オブジェクトを作成します。
Timer
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し列挙できるかどうかを示します。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
  
タイマーが実行されている場合はタイマーを停止して、ストップウォッチのリセットボタンのように、currentCount プロパティを 0 に戻します。
Timer
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
タイマーがまだ実行されていない場合は、タイマーを起動します。
Timer
  
タイマーを停止します。
Timer
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント 概要 定義元
 Inherited Flash Player がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
 Inherited Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
   Timer オブジェクトが Timer.delay プロパティに従って指定された時間間隔に達するたびに送出されます。Timer
   Timer.repeatCount で設定された数の要求が完了するたびに送出されます。Timer
プロパティの詳細
currentCountプロパティ
currentCount:int  [read-only]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

ゼロで開始してから現在までに起動されたタイマーの合計回数です。タイマーをリセットした場合は、リセット以降の回数のみがカウントされます。


実装
    public function get currentCount():int
delayプロパティ 
delay:Number  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

ミリ秒単位で指定したタイマーイベント間の遅延です。タイマーの実行中に遅延間隔を設定すると、同じ repeatCount の反復回数でタイマーが再起動されます。


実装
    public function get delay():Number
    public function set delay(value:Number):void

例外
Error — 指定した遅延がマイナスまたは有限数でない場合、例外が発生します。
repeatCountプロパティ 
repeatCount:int  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

タイマーを実行する合計回数を設定します。繰り返し回数を 0 に設定すると、stop() メソッドが呼び出されるまで、またはプログラムによって停止されるまで、タイマーは無限に継続されます。繰り返し回数をゼロ以外に指定すると、タイマーは指定した回数実行されます。currentCount 以下の合計を repeatCount に設定するとタイマーは停止し、再起動されません。


実装
    public function get repeatCount():int
    public function set repeatCount(value:int):void
runningプロパティ 
running:Boolean  [read-only]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

タイマーの現在の状態です。タイマーの実行中は true、それ以外は false です。


実装
    public function get running():Boolean
コンストラクタの詳細
Timer()コンストラクタ
public function Timer(delay:Number, repeatCount:int = 0)

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

delay および repeatCount に指定した状態で、新しい Timer オブジェクトを作成します。

タイマーが自動的に起動しない場合は、start() メソッドを呼び出して起動させる必要があります。

パラメータ
delay:Number — ミリ秒単位で指定したタイマーイベント間の遅延です。
 
repeatCount:int (default = 0) — 繰り返しの回数を指定します。ゼロを指定すると、タイマーは無限に繰り返されます。ゼロ以外に指定すると、タイマーは指定した回数を実行された後に停止します。

例外
Error — 指定した遅延がマイナスまたは有限数でない場合



次の例では、ユーザーが入力テキストフィールドの応答を書き込む時間が 90 秒間あります。さらに 30 秒ごとに、ユーザーに対してステータステキストフィールドに残り時間を表示します。

30 秒ごとに起動し (遅延を 30000 ミリ秒に設定)、合計 90 秒間に 3 回起動を繰り返す Timer オブジェクトが作成されます。タイマーは 3 回で停止します。

myTimer タイマーに 2 つのイベントリスナーが追加されます。1 つ目のイベントリスナーは、タイマーが起動するたびに発生する TimerEvent.TIMER イベントによってトリガされます。timerHandler() メソッドによって statusTextField テキストフィールドのテキストが変更され、残りの秒数が反映されます。Timer クラスは、currentCount プロパティの数値を増やすことによって、起動する必要がある回数 (repeats) を保持します。

タイマーが最後に呼び出されると、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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

タイマーが実行されている場合はタイマーを停止して、ストップウォッチのリセットボタンのように、currentCount プロパティを 0 に戻します。その後、start() が呼び出されると、repeatCount 値で指定した繰り返しの回数のタイマーインスタンスが実行されます。

関連項目

start()メソッド 
public function start():void

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

タイマーがまだ実行されていない場合は、タイマーを起動します。

stop()メソッド 
public function stop():void

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

タイマーを停止します。stop() の後に start() が呼び出されると、repeatCount プロパティで指定した残りの繰り返しの回数のタイマーインスタンスが実行されます。

関連項目

イベントの詳細
timer イベント
イベントオブジェクトの型: flash.events.TimerEvent
TimerEvent.type property = flash.events.TimerEvent.TIMER

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

Timer オブジェクトが Timer.delay プロパティに従って指定された時間間隔に達するたびに送出されます。

type プロパティ (timer イベントオブジェクト) の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
target時間間隔が経過した Timer オブジェクトです。
timerComplete イベント  
イベントオブジェクトの型: flash.events.TimerEvent
TimerEvent.type property = flash.events.TimerEvent.TIMER_COMPLETE

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

Timer.repeatCount で設定された要求数を完了するたびに送出されます。

type プロパティ (timerComplete イベントオブジェクト) の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
target要求を完了した Timer オブジェクトです。
例の使用法
TimerExample.as

次の例では、クラス 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/flash/9.0_jp/ActionScriptLangRefV3/flash/utils/Timer.html