使用Timer类的构 造函数“Timer(delay:Number,repeatCount:int=0)”可以直接创建一个功能完备的定时器。此函数包含两个参数,分别是 该类的delay属性和repeatCount属性。定时器创建后会保持停止,直到使用“start()”方法启动后,才会开始计时
引用包
import flash.events.TimerEvent;
import flash.utils.Timer;
使用方法
var myTimer:Timer=new Timer(500,100);
myTimer.addEventListener("timer", timerhandler);//注意,事件timer必须全部小写
myTimer.start();
private function timerhandler(event:TimerEvent):void{
trace("1");
}
在定时器启动后,使用currentCount属性 查询当前累计触发次数,使用“stop()”方法可以停止一个定时器。需要指出的是:“stop()”方法不过是暂停了定时器,并没有清除定时器。当一个 定时器被“stop()”方法停止后,Timer对象的currentCount并没有被清除。当再次使用“start()”方法启动Timer对象时, 定时器将继续执行,直到触发次数达到repeatCount属性规定的数值。用户不能在代码中为CurrentCount赋值,要改变 currentCount属性,只能使用“reset()”方法。“reset()”方法可以清零定时器的currentCount属性。
setTimeOut、setInterval、Timer 的区别和用法
setTimeOut:设置超时时间,只会执行一次! setInterval:设置一个间隔时间,间隔多久会触发一次!除非 remove,否则会永久执行下去! Timer:设置一个间隔时间,有次数限制,只执行制定次数! 参数说明: setTimeOut(函数名,延迟时间,参数); setInterval(函数名,延迟时间,参数); Timer(延迟时间,执行次数);
举例: 1.setTimeOut package { import flash.display.Sprite; import flash.utils.*; public class SetTimeoutExample extends Sprite { private var delay:Number = 1000; // delay before calling myDelayedFunction public function SetTimeoutExample() { var intervalId:uint = setTimeout(myDelayedFunction, delay, "Hello", "World"); } public function myDelayedFunction():void { trace(arguments[0] + " " + arguments[1]); } public function clearTimeout():void { if(intervalId>0) { clearTimeout(intervalId); } } } }
2.setInterval package { import flash.display.Sprite; import flash.utils.*; public class SetIntervalExample extends Sprite { private var intervalDuration:Number = 1000; // duration between intervals, in milliseconds private var intervalId:uint; private var counter:uint = 0; private var stopCount:uint = 3; public function SetIntervalExample() { intervalId = setInterval(myRepeatingFunction, intervalDuration, "Hello", "World"); } public function myRepeatingFunction():void { trace(arguments[0] + " " + arguments[1]); counter++; if(counter == stopCount) { trace("Clearing Interval"); clearInterval(intervalId); } } } }
3.Timer
package {
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.display.Sprite;
public class TimerExample extends Sprite {
public function TimerExample() {
var myTimer:Timer= new Timer(1000, 2);
myTimer.addEventListener("Timer", timerHandler);
myTimer.start();
}
public function timerHandler(event:TimerEvent):void {
trace("timerHandler: " + event);
}
}
}
|