




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、as3.0如何实现定时在as3中使用定时器,用timer对象,方法如下:var timer:timer = new timer(10000); /新建一个timer对象,参数是定时间隔,单位是毫秒。timer.addeventlistener(timerevent.timer, timerhandler);/为此事件添加侦听timer.start();/启动定时function timerhandler(event:timerevent):void/定时调用的函数 /这里是需要定时处理的语句 timer.delay += 4000;as3.0编程 timer类动画制作在actionscript
2、 3.0中,使用timer类作为flash player计时器的接口。利用创建的的timer对象,可以设置指定的时间顺序来执行程序代码。使用timer对象,可以控制指定的代码运行一次或按指定间隔重复运行一定的次数。timer的刷新取决于swf文件的帧频或flash player的工作环境,比如计算机的内存和cpu等。flash player会能会按稍有偏差的间隔调度事件。timer类有4个属性,3个方法,2个事件。下面来简单介绍这些属性和方法。currentcount:计时器从0开始后执行代码的总次数。此属性在重置计时器后,只计入重置后的执行次数。delay:计时器事件间以毫秒为单位的延迟时间
3、。如果在计时器正在运行时设置延迟间隔,则计时器将按相同的重复执行次数重新启动计时器。running:反映计时器的当前状态。如果计时器正在运行,则为true,否则为false。reset()方法:如果计时器正在运行,则停止计时器,并将当前执行次数属性设回为0,在调用start()方法后,将在此执行程序代码。start()方法:启动计时器的方法。stop()方格:停止计时器。若在调用stop()后调用start(),则将继续运行计时器实例,运行次数为剩余的重复次数。timer事件:每当timer对象达到根据delay属性指定的间隔时调度。timercomplete事件:每当它完成repeatcou
4、nt设置的执行次数后调度此事件。 flash as3.0菜鸟学飞教程:间隔循环的三种表现方式在本as3.0教程中我们将学习到间隔循环的三种表现方式,希望对朋友们有所帮助 如果想使动画不依赖于帧频,可使用种方法:1、setlnterval()函数setlnterval()函数作用是每隔一定的时间,就调用函数setlnterval()函数的形式为:setlnterval(函数名,时间间隔,函数参数);函数名是自定义的函数的名,时间间隔为毫秒,函数参数是自定义函数的参下面制作一个计时器:/时间的初始值var t:int;/定义一个无参函数function time()/输出时间trace(+t /
5、10);/每隔0.1秒调用一次函数setinterval(time,100);测试上面的代码,可在输出面板中看到时间以0.1秒在递增。提示:setlnterval()函数每隔0.1秒调用一次函数,变量t以加的方式进行递增,t除以10后可表示时间。下面的代码调用一个有参函数:/定义一个有参函数function test(message)trace(message);/每隔500毫秒调用一次函数,输出“调用函数”setinterval(test,500,调用函数);清除setinterval()的调用,使用clearinterval()函数提示:要及时清除setinterval()函数的调用,否则
6、会导致setinterval()函数的重复调用。2、settimeout()函数settimeout()函数的使用方法与setlnterval()函数的使用方法相同,也是每隔一定时间就调用函数。settimeout()函数的一般形式为:settimeout(函数名,时间间隔,函数参数);调用一个无参函数:/自定义函数,输出信息function test()trace(函数调用);/每隔1000毫秒调用一次test(),输出信息。settimeout(test,1000);清除settimeout()的调用,使用cleartimeout()函数。、timer类as3.0新增了timer类来实现间
7、隔调用程序,timer类封装了许多属性、方法和事件。使用timer类不会像setinterval()重复积累调用,减少了出错的几率,可以自定义间隔时间,实现与帧频的脱离,是制作间隔效果的首选。timer类的构造函数有两个参数,第个是以毫秒为单位的间隔数字,第个是重复调用的次数。创建timer类的实例:var mytimer:timer = new timer(1000,3);在构造函数timer()中,间隔时间为1000毫秒,重复次数为次,调用从数字开始,向上递增,当次数等于时,停止调用。timer类有个属性,两个为只读属性,两个为读写属性:running属性:是只读属性,表示调用是否进行,如
8、果处于调用状态,running的值为true,否则为false。currentcount属性:是只读属性,表示当前调用的次数。delay属性:是读写属性,表示间隔调用的时间。repeatcount属性:是读写属性,表示重复调用的次数。timer类有个方法可调用:start()方法:用于启动调用spop()方法:用于停止调用reset()方法:用于重置调用timer类有两个事件,当开始调用时会发生timer事件,调用结束时会发生timercomplete事件。这两个事件都是timerevent类的属性,事件名分别为timer.timer和timer.timer_complete。下面是制作计时器
9、的实例:、新建flash文档、在图层的第帧,创建一个实例名为time的动态文本实例。、添加as图层,单击第帧,打开动作面板输入代码:/定义时间间隔var interval:uint = 100;/重复次数var repeat:uint = 120;/创建实例var mytimer:timer = new timer(interval,repeat);/注册timer事件mytimer.addeventlistener(timerevent.timer,timerhandler);/启动计时器mytimer.start();/定义事件的接收函数function timerhandler(even
10、t:timerevent):void /得到timer类的实例var timer:timer = event.target; /计算秒数var t:number = timer.currentcount / 10; /保留位小数time.text = t.tofixed(1);每100毫秒调用函数一次,即间隔0.1秒,把次数除以10得到秒数。4、测试影片(在测试时选择【文件】【发布设置】选【flash】选项卡,选actionscript3【设置】把严谨模式的勾去掉)。 60秒计时实例代码 12 var t:int=03 var mytimer:timer = new timer(1000,60);4 /注册timer事件5 mytimer.addeventlistener
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论