Verwendung der Timer-Klasse (flash.utils.Timer) ist das empfohlene Verfahren zum Einsatz von Timerfunktionen in ActionScript 3.0. Mit dieser Klasse können Ereignisse ausgelöst werden, wenn Zeitintervalle erreicht werden.
Zum Starten eines Timers müssen Sie zunächst eine Instanz der Timer-Klasse erstellen und dann festlegen, wie oft ein Timer-Ereignis ausgelöst wird und nach wie vielen Malen es gestoppt wird.
Mit dem folgenden Code wird beispielsweise eine Timer-Instanz erstellt, mit der über einen Zeitraum von 60 Sekunden jede Sekunde ein Ereignis ausgelöst wird:
var oneMinuteTimer:Timer = new Timer(1000, 60);
Das Timer-Objekt löst jedes Mal ein TimerEvent-Objekt aus, wenn das angegebene Intervall erreicht ist. Der Ereignistyp eines TimerEvent-Objekts lautet
timer
(definiert durch die
TimerEvent.TIMER
-Konstante). Ein TimerEvent-Objekt enthält die gleichen Eigenschaften wie ein Event-Standardobjekt.
Wenn für die Timer-Instanz eine feste Anzahl von Intervallen festgelegt ist, wird auch ein
timerComplete
-Ereignis ausgelöst (definiert durch die
TimerEvent.TIMER_COMPLETE-Konstante
), wenn das letzte Intervall erreicht wird.
Es folgt eine kleine Beispielanwendung mit der Timer-Klasse:
package
{
import flash.display.Sprite;
import flash.events.TimerEvent;
import flash.utils.Timer;
public class ShortTimer extends Sprite
{
public function ShortTimer()
{
// creates a new five-second Timer
var minuteTimer:Timer = new Timer(1000, 5);
// designates listeners for the interval and completion events
minuteTimer.addEventListener(TimerEvent.TIMER, onTick);
minuteTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
// starts the timer ticking
minuteTimer.start();
}
public function onTick(event:TimerEvent):void
{
// displays the tick count so far
// The target of this event is the Timer instance itself.
trace("tick " + event.target.currentCount);
}
public function onTimerComplete(event:TimerEvent):void
{
trace("Time's Up!");
}
}
}
Beim Erstellen der ShortTimer-Klasse wird eine Timer-Instanz erstellt, die über einen Zeitraum von 5 Sekunden einmal pro Sekunde ein Tick-Ereignis sendet. Dann werden dem Timer zwei Listener hinzugefügt: einer, der auf die einzelnen Ticks wartet, und einer, der auf das
timerComplete
-Ereignis wartet.
Anschließend wird der Timer gestartet. Ab diesem Moment wird die
onTick()
-Methode in Intervallen von einer Sekunde ausgeführt.
Über die
onTick()
-Methode wird die aktuelle Anzahl der Tick-Ereignisse angezeigt. Wenn fünf Sekunden vergangen sind, wird die
onTimerComplete()
-Methode ausgeführt. Dadurch wird angegeben, dass das Zeitintervall abgelaufen ist.
Beim Ausführen dieser Beispielanwendung werden die folgenden Zeilen in der Konsole oder im Bedienfeld „Ausgabe“ angezeigt – jeweils eine Zeile pro Sekunde:
tick 1
tick 2
tick 3
tick 4
tick 5
Time's Up!