Adobe® Flash® Platform 用 ActionScript® 3.0 リファレンスガイド
ホーム  |  パッケージおよびクラスリストの非表示 |  パッケージ  |  クラス  |  新機能  |  索引  |  付録  |  英語で表示される理由
フィルター: サーバーからデータを取得しています...
サーバーからデータを取得しています...
flash.utils 

Timer  - AS3

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

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

Timer クラスはタイマーへのインターフェイスです。タイマーを使用すると、指定した時間系列に従ってコードを実行できます。 タイマーを開始するには start() メソッドを使用します。timer イベントのイベントリスナーをセットアップコードに追加すると、そのタイマー間隔で実行されます。

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

例を表示



パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。
Object
  currentCount : int
[読み取り専用] ゼロで開始してから現在までに起動されたタイマーの合計回数です。
Timer
  delay : Number
ミリ秒単位で指定したタイマーイベント間の遅延です。
Timer
  repeatCount : int
タイマーを実行する合計回数を設定します。
Timer
  running : Boolean
[読み取り専用] タイマーの現在の状態です。タイマーの実行中は 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
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント 概要 定義元
 Inherited[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
 Inherited[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
  Timer オブジェクトが Timer.delay プロパティに従って指定された時間間隔に達するたびに送出されます。Timer
  Timer.repeatCount で設定された数の要求が完了するたびに送出されます。Timer
プロパティの詳細

currentCount

プロパティ
currentCount:int  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

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



実装
    public function get currentCount():int

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

プロパティ 
running:Boolean  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9, Flash Lite 4

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



実装
    public function get running():Boolean
コンストラクターの詳細

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 — 指定した遅延がマイナスの場合、または有限数でない場合

例  ( この例の使用方法 )

次の例では、ユーザーが入力テキストフィールドに応答を入力する時間が 90 秒間あります。 さらに 30 秒ごとに、ユーザーに対してステータスメッセージが表示され、残り時間が通知されます。

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 イベントオブジェクト)の値を定義します。

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

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
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 イベントオブジェクト)の値を定義します。

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

プロパティ
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);
        }
    }
}




[ X ]英語で表示される理由
ActionScript 3.0 リファレンスガイドのコンテンツが英語で表示されます。

ActionScript 3.0 リファレンスガイドのすべての部分がすべての言語に翻訳されているわけではありません。言語エレメントが翻訳されていない場合、そのエレメントは英語で表示されます。例えば、ga.controls.HelpBox クラスはどの言語にも訳されていません。このため、リファレンスガイドの日本語バージョンでは、ga.controls.HelpBox クラスは英語で表示されます。