Paket | flash.utils |
Klasse | public class Timer |
Vererbung | Timer EventDispatcher Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : 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 |
Methode | Definiert von | ||
---|---|---|---|
Erstellt ein neues Timerobjekt mit den angegebenen Zuständen für „delay“ und „repeatCount“. | Timer | ||
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 | ||
Sendet ein Ereignis in den Ereignisablauf. | EventDispatcher | ||
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. | EventDispatcher | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
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 | ||
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 | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object | ||
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. | EventDispatcher |
Ereignis | Übersicht | Definiert von | ||
---|---|---|---|---|
[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird. | EventDispatcher | |||
[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 |
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 |
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.
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 )
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; } } }
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
timer | Ereignis |
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.
type
eines timer
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Das Timer-Objekt, das sein Intervall erreicht hat. |
timerComplete | Ereignis |
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.
type
eines timerComplete
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Das Timer-Objekt, das seine Anforderungen abgearbeitet hat. |
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); } } }
Tue Jun 12 2018, 10:04 AM Z