Voor het verwerken van timingfuncties in ActionScript 3.0 kunt u het beste de klasse Timer (flash.utils.Timer) gebruiken die kan worden gebruikt om gebeurtenissen te verzenden wanneer een interval wordt bereikt.
Als u een timer wilt starten, maakt u eerst een instantie van de klasse Timer en geeft u op hoe vaak deze een timergebeurtenis moet genereren en na hoeveel keren dit moet stoppen.
Met de volgende code wordt bijvoorbeeld een instantie Timer gemaakt die gedurende 60 seconden elke seconde een gebeurtenis verzendt:
var oneMinuteTimer:Timer = new Timer(1000, 60);
Elke keer dat het opgegeven interval wordt bereikt, verzendt het object Timer een object TimerEvent. Het gebeurtenistype van het object TimerEvent is
timer
(gedefinieerd door de constante
TimerEvent.TIMER
). Een object TimerEvent bevat dezelfde eigenschappen als een standaardobject Event.
Als de instantie Timer op een vast aantal intervallen is ingesteld, wordt ook de gebeurtenis
timerComplete
(gedefinieerd door de constante
TimerEvent.TIMER_COMPLETE
) verzonden wanneer het laatste interval wordt bereikt.
Hier volgt een kleine voorbeeldtoepassing waarin de klasse Timer wordt gebruikt:
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!");
}
}
}
Wanneer de klasse ShortTimer is gemaakt, maakt deze een instantie Timer die gedurende vijf seconden één keer per seconde tikt. Vervolgens worden twee listeners aan de timer toegevoegd: een listener die naar elke tik luistert en een listener die naar de gebeurtenis
timerComplete
luistert.
Vervolgens begint de timer te tikken en vanaf dat moment wordt de methode
onTick()
met een interval van één seconde uitgevoerd.
Met de methode
onTick()
wordt alleen de telling van het aantal tikken weergegeven. Na vijf seconden wordt de methode
onTimerComplete()
uitgevoerd en wordt u verteld dat de tijd om is.
Wanneer u dit voorbeeld uitvoert, moeten de volgende regels met een snelheid van één regel per seconde worden weergegeven in uw console of deelvenster Uitvoer:
tick 1
tick 2
tick 3
tick 4
tick 5
Time's Up!