ActionScript 3.0'da zamanlama işlevlerini işlemenin tercih edilen yolu, bir aralığa her ulaşıldığında olayları göndermek için kullanılabilen Timer sınıfının (flash.utils.Timer) kullanılmasıdır.
Bir zamanlayıcıyı başlatmak için, ilk olarak bir Timer sınıfı örneğini oluşturarak bu sınıfa ne sıklıkla bir zamanlayıcı olayı oluşturacağını ve durmadan önce kaç defa bunu yapacağını bildirirdiniz.
Örneğin, aşağıdaki kod, her saniye bir olay gönderen ve 60 saniye boyunca bu işleme devam eden bir Timer örneğini oluşturur:
var oneMinuteTimer:Timer = new Timer(1000, 60);
Timer nesnesi, belirli bir aralığa her ulaşıldığında bir TimerEvent nesnesi gönderir. TimerEvent nesnesinin olay türü timer (TimerEvent.TIMER sabitiyle tanımlı) olur. TimerEvent nesnesi, standart bir Event nesnesiyle aynı özellikleri içerir.
Timer örneği sabit sayıda bir aralığa ayarlanırsa, son aralığa ulaştığında bir timerComplete olayı da (TimerEvent.TIMER_COMPLETE sabitiyle tanımlı) gönderir.
Aşağıda, Timer sınıfını eylem halinde gösteren küçük bir örnek uygulama yer almaktadır:
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!");
}
}
}
ShortTimer sınıfı oluşturulduğunda, bu sınıf beş saniye boyunca saniyede bir defa ilerleyecek bir Timer örneği oluşturur. Daha sonra zamanlayıcıya iki dinleyici ekler: biri ilerlemelerin her birini dinler, diğeri de timerComplete olayını dinler.
Ardından zamanlayıcı ilerlemesini başlatır ve bu noktadan itibaren bir saniyelik aralıklarla onTick() yöntemi çalıştırılır.
onTick() yöntemi geçerli ilerleme sayısını gösterir. Beş saniye geçtikten sonra, onTimerComplete() yöntemi çalıştırılarak zamanın dolduğunu bildirir.
Bu örneği çalıştırdığınızda, konsolunuzda veya izleme pencerenizde, saniyede birer satır hızında şu satırların görüntülenmesi gerekir:
tick 1
tick 2
tick 3
tick 4
tick 5
Time's Up!