当定时器启动后,会每隔delay周期发出timer事件,必须在代码中设定对此事件的侦听,方可达到定时执行任务的目的。
var myTimer:Timer=new Timer(80,100);
myTimer.addEventListener("timer", timerhandler);//注意,事件timer必须全部小写
myTimer.start();
//事件处理函数
function timerhandler(event:TimerEvent):void{
//进行用户操作
}
以上代码创建了一个总触发次数为100次的定时器myTimer。当myTimer启动后,每隔80毫秒会发出一次定时器触发事件。用addEventListener()函数设定timer事件的监听,并编写timerhandler()来处理这个事件。一切就绪后,使用start()方法启动定时器。
在定时器启动后,使用currentCount属性查询当前累计触发次数,使用stop()方法可以停止一个定时器。需要指出的是:stop()方法不过是暂停了定时器,并没有清除定时器。当一个定时器被stop()方法停止后,Timer对象的currentCount并没有被清除。当再次使用start()方法启动Timer对象时,定时器将继续执行,直到触发次数达到repeatCount属性规定的数值。用户不能在代码中为CurrentCount赋值,要改变currentCount属性,只能使用reset()方法。reset()方法可以清零定时器的currentCount属性。
当一个定时器的触发次数达到设定值repeatCount时,FlashPlayer将发送timeComplete事件。通过响应此事件,可以重设Time定时器并令其继续运行下去。
用户可以同时设定多个定时器。多个定时器之间平行存在,互不影响。