Flash AS3.0教程:间隔循环的3种表现方式-Flash actionscript

2016-03-18 15:16 11 1 收藏

今天图老师小编给大家展示的是Flash AS3.0教程:间隔循环的3种表现方式-Flash actionscript,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - FLASH 】

poluoluo核心提示:在本AS3.0教程中我们将学习到间隔循环的三种表现方式,希望对朋友们有所帮助.

 在本AS3.0教程中我们将学习到间隔循环的三种表现方式,希望对朋友们有所帮助~~ 如果想使动画不依赖于帧频,可使用3种方法:

1、setlnterval()函数
setlnterval()函数作用是每隔一定的时间,就调用函数
setlnterval()函数的形式为:
setlnterval(函数名,时间间隔,函数参数);
函数名是自定义的函数的名,时间间隔为毫秒,函数参数是自定义函数的参

下面制作一个计时器:

//时间的初始值
var t:int;
//定义一个无参函数
function time()
{
//输出时间
 trace(++t / 10);
}
//每隔0.1秒调用一次函数
setInterval(time,100);
测试上面的代码,可在输出面板中看到时间以0.1秒在递增。

提示:setlnterval()函数每隔0.1秒调用一次函数,变量t以加1的方式进行递增,t除以10后可表示时间。

下面的代码调用一个有参函数:

//定义一个有参函数
function test(message)
{
trace(message);
}
//每隔500毫秒调用一次函数,输出调用函数
setInterval(test,500,"调用函数");

清除setInterval()的调用,使用clearInterval()函数

提示:要及时清除setInterval()函数的调用,否则会导致setInterval()函数的重复调用。

2、setTimeout()函数
setTimeout()函数的使用方法与setlnterval()函数的使用方法相同,也是每隔一定时间就调用函数。

setTimeout()函数的一般形式为:
setTimeout(函数名,时间间隔,函数参数)Tulaoshi.Com;

调用一个无参函数:

//自定义函数,输出信息
function test()
{
trace("函数调用");
}
//每隔1000毫秒调用一次test(),输出信息。
setTimeout(test,1000);

清除setTimeout()的调用,使用clearTimeout()函数。

3、Timer类
AS3.0新增了Timer类来实现间隔调用程序,Timer类封装了许多属性、方法和事件。
使用Timer类不会像setInterval()重复积累调用,减少了出错的几率,可以自定义间隔时间,实现与帧频的脱离,是制作间隔效果的首选。
Timer类的构造函数有两个参数,第1个是以毫秒为单位的间隔数字,第2个是重复调用的次数。
创建Timer类的实例:

var myTimer:Timer = new Timer(1000,3);

在构造函数Timer()中,间隔时间为1000毫秒,重复次数为3次,调用从数字1开始,向上递增,当次数等于3时,停止调用。

Timer类有4个属性,两个为只读属性,两个为读写属性:
running属性:是只读属性,表示调用是否进行,如果处于调用状态,running的值为true,否则为false。currentCount属性:是只读属性,表示当前调用的次数。
delay属性:是读写属性,表示间隔调用的时间。
repeatCount属性:是读写属性,表示重复调用的次数。

Timer类有3个方法可调用:
start()方法:用于启动调用
spop()方法:用于停止调用
reset()方法:用于重置调用

Timer类有两个事件,当开始调用时会发生timer事件,调用结束时会发生timerComplete事件。这两个事件都是TimerEvent类的属性,事件名分别为Timer.TIMER和Timer.TIMER_COMPLETE。

下面是制作计时器的实例:
1、新建Flash文档
2、在图层1的第1帧,创建一个实例名为time的动态文本实例。
3、添加as图层,单击第1帧,打开动作面板输入代码:
//定义时间间隔
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(event:TimerEvent):void
{
    //得到Timer类的实例
 var timer:Timer = event.target;
    //计算秒数
 var t:Number = timer.currentCount / 10;
    //保留1位小数
 time.text = t.toFixed(1);
}

每100毫秒调用函数一次,即间隔0.1秒,把次数除以10得到秒数。

4、测试影片(在测试时选择【文件】【发布设置】选【Flash】选项卡,选ActionScript3【设置】把严谨模式的勾去掉)。

效果演示:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/flash/)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/flash/)

来源:http://www.tulaoshi.com/n/20160318/1886708.html

延伸阅读
标签: flash教程
本例为Flash AS3.0菜鸟学飞系列教程,在上一节中我们初步了解和认识了函数的概念,本Flash AS3.0教程中我们来学习函数的引用,希望能给朋友们带来帮助~~ 学习AS3菜鸟起飞吧之函数(二):函数的引用 编程中经常用到函数的引用,因为函数属于复杂数据类型,所以函数与类一样,是通过引用来操作数据的。 引用函数的语法就是使用函数名。例...
标签: flash教程
早期版本的ActionScript代码可以写在帧、按钮、影片剪辑、as文件等位置,而Flash AS3.0代码的位置发生了重大的改变,只能写在帧及as文件中。  虽然Flash AS3.0支持把代码写在时间轴中,但在实际应用中,如果把很多的代码放在时间轴中,会导致代码很难管理。或者说,用类来组织大量的代码更为合适,因为类代码都是放在as文件中的。 ...
标签: 代码
随着flash cs3的到来,同时提供给我们一个崭新的,针对Adobe Flash(swf)影片和功能程序的标准的程序开发语言。在之前的一段时间里,你可能发现入门ActionScript 3.0与其它版本的ActionScript相比会有一些难度.例如,如果拿ActionScript 1.0到ActionScript 2.0的变化相比的话,那么对于ActionScript变化到ActionScript 3.0可以说是一个比较大...
标签: FLASH flash教程
前面介绍了Flash AS3教程:Dot类,接着介绍ClassLoader类! 主要用途 : 1、在用flash做项目的时候,把一些元件,通过设置链接类,然后使用这个类,通过getClass方法即可把这个素材拿下来 图1(详见例1) 2、将许多许多的类分库到不同的swf中,然后通过调用swf,达到调用类库的功能,然后通过getClass来获取类(详见例2) index.base.n...
标签: FLASH flash教程
poluoluo核心提示:这是一个非常简单的教程,将学习用发光滤镜使对象产生发光的效果。 这是一个非常简单的教程,将学习用发光滤镜使对象产生发光的效果。注意:这个实例需要 TweenMax 类,请把附件中的gs类库保存在fla同一目录下。 AS3.0发光的文字效果实例 这是一个非常简单的教程,将学习用发光滤镜使对象产生发光的效果。 注意:...

经验教程

901

收藏

46
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部