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!