ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
flash.utils 

Timer  - AS3

Paketflash.utils
Klassepublic class Timer
VererbungTimer Inheritance EventDispatcher Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Timer-Klasse ist die Schnittstelle zu Zeitgebern, mit denen sich Code in einer bestimmten zeitlichen Abfolge ausführen lässt. Verwenden Sie zum Starten eines Timers die start()-Methode. Fügen Sie einen Ereignis-Listener für das timer-Ereignis hinzu, um Programmcode einzurichten, der bei Ablauf des Timers ausgeführt wird.

Sie können festlegen, ob Timerobjekte einmalig oder in bestimmten Abständen wiederholt ausgeführt werden sollen, um Programmcode nach einem Zeitplan auszuführen. Abhängig von der Bildrate der SWF-Datei oder der Umgebung der Laufzeitumgebung (freier Speicher und andere Faktoren) werden Ereignisse in der Laufzeitumgebung möglicherweise zu leicht versetzten Zeitpunkten ausgelöst. Wenn eine SWF-Datei beispielsweise zur Wiedergabe mit 10 Bildern pro Sekunde eingerichtet ist, bedeutet dies Abstände von 100 Millisekunden. Wenn der Timer so eingestellt ist, dass ein Ereignis bei 80 Millisekunden ausgelöst wird, wird das Ereignis kurz vor dem 100-Millisekunden-Intervall ausgelöst. Auch speicherintensive Skripten können zum zeitversetzten Auslösen von Ereignissen führen.

Beispiele anzeigen



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  currentCount : int
[schreibgeschützt] Die Gesamtzahl der Ereignisse, die der Timer ausgelöst hat, seit er bei 0 gestartet wurde.
Timer
  delay : Number
Die Dauer zwischen den Timerereignissen in Millisekunden.
Timer
  repeatCount : int
Die Gesamtzahl der für den Timer festgelegten Ausführungen.
Timer
  running : Boolean
[schreibgeschützt] Der aktuelle Zustand des Timers. Wird der Timer ausgeführt, ist dieser Wert „true“, sonst „false“.
Timer
Öffentliche Methoden
 MethodeDefiniert von
  
Timer(delay:Number, repeatCount:int = 0)
Erstellt ein neues Timerobjekt mit den angegebenen Zuständen für „delay“ und „repeatCount“.
Timer
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.
EventDispatcher
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
  
Hält den Timer an, wenn dieser ausgeführt wird, und setzt die currentCount-Eigenschaft (wie der Resert-Knopf einer Stoppuhr) wieder auf 0.
Timer
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
  
Startet den Timer, sofern dieser noch nicht ausgeführt wird.
Timer
  
Hält den Timer an.
Timer
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
Ereignisse
 Ereignis Übersicht Definiert von
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird.EventDispatcher
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird.EventDispatcher
  Wird ausgelöst, wenn ein Timerobjekt das in der Timer.delay-Eigenschaft festgelegte Intervall erreicht hat.Timer
  Wird ausgelöst, wenn die Anzahl der in „Timer.repeatCount“ festgelegten Anforderungen ausgeführt wurde.Timer
Eigenschaftendetails

currentCount

Eigenschaft
currentCount:int  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Gesamtzahl der Ereignisse, die der Timer ausgelöst hat, seit er bei 0 gestartet wurde. Wenn der Timer zurückgesetzt wurde, werden nur die seitdem erfolgten Ereignisse gezählt.



Implementierung
    public function get currentCount():int

delay

Eigenschaft 
delay:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Dauer zwischen den Timerereignissen in Millisekunden. Wenn Sie das Zeitintervall festlegen, während der Timer ausgeführt wird, wird der Timer mit derselben repeatCount-Iteration neu gestartet.

Hinweis: Ein Wert von weniger als 20 Millisekunden für delay wird nicht empfohlen. Die Timer-Frequenz ist auf 60 Bilder pro Sekunde begrenzt. Eine Verzögerung unter 16,6 Millisekunden führt zu Laufzeitproblemen.



Implementierung
    public function get delay():Number
    public function set delay(value:Number):void

Auslöser
Error — Es wird eine Ausnahme ausgelöst, wenn die angegebene Verzögerung ein negativer Wert oder keine endliche Zahl ist.

repeatCount

Eigenschaft 
repeatCount:int

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Gesamtzahl der für den Timer festgelegten Ausführungen. Wenn der Wiederholungstimer auf 0 gesetzt ist, fährt der Timer bis zu einem Maximum von 24,86 Tagen, bis zum Aufrufen der stop()-Methode oder bis zum Beenden des Programms fort. Wenn als Anzahl der Wiederholungen ein Wert ungleich 0 festgelegt ist, wird der Timer entsprechend oft ausgeführt. Wenn für repeatCount ein Wert angegeben ist, der gleich oder kleiner dem Wert von currentCount ist, wird der Timer angehalten und löst keine Ereignisse mehr aus.



Implementierung
    public function get repeatCount():int
    public function set repeatCount(value:int):void

running

Eigenschaft 
running:Boolean  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Der aktuelle Zustand des Timers. Wird der Timer ausgeführt, ist dieser Wert true, sonst false.



Implementierung
    public function get running():Boolean
Konstruktordetails

Timer

()Konstruktor
public function Timer(delay:Number, repeatCount:int = 0)

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Erstellt ein neues Timerobjekt mit den angegebenen Zuständen für delay und repeatCount.

Der Timer startet nicht automatisch. Sie müssen dazu die start()-Methode aufrufen.

Parameter
delay:Number — Die Dauer zwischen zwei Timerereignissen in Millisekunden. Ein Wert von weniger als 20 Millisekunden für delay wird nicht empfohlen. Die Timer-Frequenz ist auf 60 Bilder pro Sekunde begrenzt. Eine Verzögerung unter 16,6 Millisekunden führt zu Laufzeitproblemen.
 
repeatCount:int (default = 0) — Gibt die Anzahl der Wiederholungen an. Bei null wiederholt der Timer unendlich bis zu einer maximalen Dauer von 24,86 Tagen (int.MAX_VALUE + 1). Wenn der Wert ungleich 0 ist, wird der Timer so oft ausgeführt wie angegeben und dann angehalten.

Auslöser
Error — Die angegebene Verzögerung ist ein negativer Wert oder keine endliche Zahl.

Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel hat der Benutzer 90 Sekunden Zeit, eine Antwort in ein Eingabetextfeld einzugeben. Alle 30 Sekunden wird der Benutzer mit einer Statusmeldung darüber informiert, wie viel Zeit ihm noch verbleibt.

Es wird ein Timerobjekt erstellt, das in 30 Sekunden startet (die Verzögerung ist auf 30000 Millisekunden eingestellt) und drei Mal wiederholt wird, sodass sich der Gesamtzeitraum von 90 Sekunden ergibt. (Der Timer stoppt nach dem dritten Mal.)

Für den Timer myTimer werden zwei Ereignis-Listener hinzugefügt. Der erste wird durch das TimerEvent.TIMER-Ereignis ausgelöst, das bei jedem Starten des Timers auftritt. Die timerHandler()-Methode ändert den Text für das statusTextField-Textfeld, um die verbleibenden Sekunden anzugeben.

Hinweis: Die Timer-Klasse verfolgt, wie viele Male ein Start erforderlich ist (repeats), indem die Zahl in der currentCount-Eigenschaft erhöht wird.)

Nachdem der Timer zum letzten Mal aufgerufen wurde, wird das TimerEvent.TIMER_COMPLETE-Ereignis ausgelöst und die completeHandler()-Methode wird aufgerufen. Die completeHandler()-Methode ändert den Typ des Textfeldes inputTextField von INPUT zu DYNAMIC, sodass der Benutzer keinen Text mehr eingeben oder ändern kann.

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;    
        }
    }
}
Methodendetails

reset

()Methode
public function reset():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Hält den Timer an, wenn dieser ausgeführt wird, und setzt die currentCount-Eigenschaft (wie der Reset-Knopf einer Stoppuhr) wieder auf 0. Wird anschließend start() aufgerufen, wird die Timer-Instanz die mit dem repeatCount-Wert festgelegte Anzahl an Wiederholungen ausgeführt.

Verwandte API-Elemente

start

()Methode 
public function start():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Startet den Timer, sofern dieser noch nicht ausgeführt wird.

stop

()Methode 
public function stop():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Hält den Timer an. Wird nach der start()-Methode die stop()-Methode aufgerufen, wird die Timer-Instanz die mit dem repeatCount-Wert festgelegte verbleibende Anzahl an Wiederholungen ausgeführt.

Verwandte API-Elemente

Ereignisdetails

timer

Ereignis
Ereignisobjekttyp: flash.events.TimerEvent
Eigenschaft TimerEvent.type = flash.events.TimerEvent.TIMER

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Wird ausgelöst, sobald ein Timerobjekt das in der Timer.delay-Eigenschaft festgelegte Intervall erreicht hat.

Definiert den Wert der Eigenschaft type eines timer-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDas Timer-Objekt, das sein Intervall erreicht hat.

timerComplete

Ereignis  
Ereignisobjekttyp: flash.events.TimerEvent
Eigenschaft TimerEvent.type = flash.events.TimerEvent.TIMER_COMPLETE

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Wird ausgelöst, sobald die Anzahl der in Timer.repeatCount festgelegten Anforderungen ausgeführt wurde.

Definiert den Wert der Eigenschaft type eines timerComplete-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDas Timer-Objekt, das seine Anforderungen abgearbeitet hat.
TimerExample.as

Im folgenden Beispiel wird anhand der Klasse TimerExample erläutert, wie die Listener-Methode timerHandler() für auszulösende TimerEvent-Ereignisse konfiguriert werden kann. Der Timer wird gestartet, wenn start() aufgerufen wird. Anschließend werden die Timerereignisse ausgelöst.
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 ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.