14.7.使用Timer(定时器)

问题
我想通过一定的间隔或一定的延时轮询某个方法
解决办法
使用flash.util.Timer 类
讨论
flash.util.Timer 类允许通过添加时间事件或延时来调用方法。通过Timer构造器创建实例对象,传递一个毫秒数字作为构造器参数作为间隔时间,下面的例子实例化一个Timer对象每隔1秒钟发出事件信号:
+展开
-ActionScript
var timer:Timer = new Timer(1000);

一旦创建了Timer实例,下一步必须添加一个事件监听器来处理发出的事件,Timer对象发出一个flash.event.TimerEvent 事件,它是根据设置的间隔时间或延时时间定时发出。下面的代码定义了一个事件监听器,调用onTimer( )方法作为处理函数:
+展开
-ActionScript
timer.addEventListener(TimerEvent.TIMER, onTimer);
function onTimer(event:TimerEvent):void {
trace("on timer");
}

Timer 对象不会自动开始,必须调用start( )方法启动:
+展开
-ActionScript
timer.start( );

默认情况下只有调用stop( )方法后才会停下来,不过另一种方法是传递给构造器第二个参数作为运行次数,默认值为0即无限次,下面的例子设定定时器运行5次:
+展开
-ActionScript
var timer:Timer = new Timer(1000, 5);

下面的代码设定定时器延时5秒执行deferredMethod( )方法:
+展开
-ActionScript
var timer:Timer = new Timer(5000, 1);
timer.addEventListener(TimerEvent.TIMER, deferredMethod);
timer.start( );

加支付宝好友偷能量挖...


评论(0)网络
阅读(88)喜欢(0)flash/flex/fcs/AIR