加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex Timer 定时器

发布时间:2020-12-15 05:17:09 所属栏目:百科 来源:网络整理
导读:flash.util.Timer类允许通过添加时间事件或延时来调用方法。通过Timer构造器创建实例对象,传递一个毫秒数字作为构造参数作为间隔时间,下面的例子实例化一个Timer对象每个1秒钟发出事件信号:? ??? var ?timer.Timer? = ? new ?Timer( 1000 );? ? ??? 一旦

flash.util.Timer类允许通过添加时间事件或延时来调用方法。通过Timer构造器创建实例对象,传递一个毫秒数字作为构造参数作为间隔时间,下面的例子实例化一个Timer对象每个1秒钟发出事件信号:?

???

var ?timer.Timer? = ? new ?Timer( 1000 );?

?

??? 一旦创建了Timer实例,下一步必须添加一个事件监听器来处理发出的事件,Timer对象发出一个falsh.event.TimerEvent事件,它是根据设置的间隔时间或延时时间定时发出。下面的代码定义了一个事件监听,调用onTimer()方法作为处理函数:?
????

timer.addEventListener(TimerEvent.TIMER,?onTimer);?

???? function ?onTimer(event:TimerEvent): void {?

?????????trace(
" on?timer );?

????}?

?
??? Timer对象不会自动开始,必须调用start()方法启动:?

?timer.start();?

?


??? 默认情况下只有调用stop()方法才会停下来,不过另一种方法是传递给构造器第二个参数作为运行次数,默认值为0即无限次,下面的例子设定定时器运行5次:?

?timer:Timer? ,? 5 );?

?


??? 下面的代码设定定时器延时5秒执行deferredMethod()方法:?

???

5000 1 );?

timer.addEventListener(TimerEvent.TIMER,?deferredMethod);?

timer.start();?

?

Flex中Timer用法一例:计时器

?

代码
<? xml?version = " 1.0 ?encoding utf-8 ?> ????
< mx:Application?xmlns:mx http://www.adobe.com/2006/mxml ????
????????layout
vertical ????
????????verticalAlign
middle ????
????????backgroundColor
white ????
????????creationComplete
init() ?viewSourceURL srcview/index.html > ????
??
????
mx:Script ????
????????
<! [CDATA[????
????????????import?flash.utils.Timer;????
????????????import?flash.events.TimerEvent;????
??
????????????private?const?MIN_MASK:String?
? 00 ;????
????????????private?const?SEC_MASK:String?
;????
????????????private?const?MS_MASK:String?
000 ;????
????????????private?const?TIMER_INTERVAL:
int 10 ;????
??
????????????private?
var ?baseTimer: ?t:Timer;????
??
????????????private?
function ?init(): void ?{????
????????????????t?
new ?Timer(TIMER_INTERVAL);????
????????????????t.addEventListener(TimerEvent.TIMER,?updateTimer);????
????????????}????
??
????????????private?
?updateTimer(evt:TimerEvent): ?{????
????????????????
?d:Date? ?Date(getTimer()? - ?baseTimer);????
????????????????
?min:String? ?(MIN_MASK? + ?d.minutes).substr( MIN_MASK.length);????
????????????????
?sec:String? ?(SEC_MASK? ?d.seconds).substr( SEC_MASK.length);????
????????????????
?ms:String? ?(MS_MASK? ?d.milliseconds).substr( MS_MASK.length);????
????????????????counter.text?
?String(min? : ?sec? . ?ms);????
????????????}????
??
????????????private?
?startTimer(): ?{????
????????????????baseTimer?
?getTimer();????
????????????????t.start();????
????????????}????
??
????????????private?
?stopTimer(): ?{????
????????????????t.stop();????
????????????}????
????????]]
????
????
/ mx:Script>????
??
????
mx:ApplicationControlBar?dock true mx:Button?label Start?timer ?click startTimer() >???? ???????? Stop?timer stopTimer() ???? mx:ApplicationControlBar>??????? mx:Label?id counter ?fontSize 96 ??
mx:Application>???

?

?

Flex中Timer用法一例:上传文件(用时)计时器

?

代码

?
?
????????layout
?
????????verticalAlign
?
????????backgroundColor
?
????????creationComplete
init(); ?
??
????
?
????????
[CDATA[?
????????????import?flash.net.FileReference;?
????????????import?flash.net.URLRequestMethod;?
????????????import?mx.controls.Alert;?
????????????import?mx.utils.StringUtil;?
??
????????????private?
?fileRef:FileReference;?
????????????private?
?urlVars:URLVariables;?
????????????private?
?urlReq:URLRequest;?
????????????private?
?startTimer:Number;?
????????????private?
?timer:Timer;?
??
????????????private?
?{?
????????????????fileRef?
?FileReference();?
????????????????fileRef.addEventListener(Event.SELECT,?fileRef_select);?
????????????????fileRef.addEventListener(Event.COMPLETE,?fileRef_complete);?
????????????????fileRef.addEventListener(IOErrorEvent.IO_ERROR,?fileRef_ioError);?
??
????????????????urlVars?
?URLVariables();?
????????????????urlVars.userID?
94103 ;?
????????????????urlVars.fpVersion?
?flash.system.Capabilities.version;?
??
????????????????urlReq?
?URLRequest();?
????????????????urlReq.method?
?URLRequestMethod.POST;?
????????????????urlReq.data?
?urlVars;?
????????????????urlReq.url?
http://localhost:8300/fileref/uploader.aspx ;?
??
????????????????timer?
?Timer( 100 );?
????????????????timer.addEventListener(TimerEvent.TIMER,?onTimer);?
????????????}?
??
????????????private?
?onTimer(evt:TimerEvent): ?{?
????????????????lbl.text?
?String(getTimer()? ?startTimer)? ?ms ;?
????????????}?
??
????????????private?
?start(): ?{?
????????????????fileRef.browse();?
????????????}?
??
????????????private?
?fileRef_select(evt:Event): ?{?
????????????????fileRef.upload(urlReq);?
????????????????startTimer?
?getTimer();?
????????????????timer.start();?
????????????}?
??
????????????private?
?fileRef_complete(evt:Event): ?{?
????????????????Alert.show(evt.toString(),?evt.type);?
????????????????timer.stop();?
????????????}?
??
????????????private?
?fileRef_ioError(evt:IOErrorEvent): ?{?
????????????????Alert.show(evt.text,?evt.type);?
????????????????timer.stop();?
????????????}?
????????]]
?
????
mx:Script>? upload start(); >? lbl mx:Application>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读