手机
当前位置:查字典教程网 >网页设计 >Flash教程 >Flash AS 入门教程 setInterval函数应用举例
Flash AS 入门教程 setInterval函数应用举例
摘要:setInterval动作的作用是在播放动画的时,每隔一定时间就调用函数,方法或对象。源文件下载本节知识要点:1、setInterval(f...

setInterval动作的作用是在播放动画的时,每隔一定时间就调用函数,方法或对象。

Flash AS 入门教程 setInterval函数应用举例1

源文件下载

本节知识要点:

1、setInterval(function,interval,arg);

第一个参数function:也就是要调用的函数或方法;可以是匿名的函数、命名函数、对象方法或电影剪辑

第二个参数interval:调用的时间间隔,毫秒为单位。

第三个参数arg:传递给将被调用的函数或方法的参数

2、clearInterval()

清除对 setInterval() 的调用。

应用举例

例01 用setInterval做下雨效果

我们过去做下雨效果时,一般是通过帧的循环来复制雨滴的,帧的循环其实也就是间隔一定的时间。那么,我们当然也完全可以用setInterval来每隔一定时间就调用函数,而这个函数的功能就是复制一滴雨滴,并且设置其坐标。

打开3.6.1.fla文件,在第一帧上的代码:

复制代码代码如下:

i = 0;

rain._visible = 0;

function xiayu() {

duplicateMovieClip(rain, "r"+i, i);

_root["r"+i]._x = Math.round(Math.random()*550);

_root["r"+i]._y = Math.round(Math.random()*400);

i++;

if (i == 100) {

i = 0;

}

}

var sj;//设置变量

sj = setInterval(xiayu,10);//每隔10毫秒调函数xiayu一次。

运行程序,检测效果。

现在,我们试试参数的传递。我们把rain做为参数传递,那么上面的程序可以改为:

复制代码代码如下:

.....

function xiayu(md) {

duplicateMovieClip(md, "r"+i, i);

........

}

sj = setInterval(xiayu,10,rain);

运行程序,检查一下,效果和上面的程序是不是一样?

例02 使几个影片剪辑mc间隔相同时间播放;

本例题来源于网友的提问,看下图:

Flash AS 入门教程 setInterval函数应用举例2

点击查看动画效果<

问题思路:

对于顺序播放:设置一个播放一个mc的函数,再用setInterval根据输入文本得到的间隔时间来调用这个函数;同时,利用数组变量改变这个函数里的mc。

对于随机播放: 可以用上一节的乱数排列知识来处理。

打开3.6.2.fla文件分别查看各处脚本:

1、主时间轴第1帧上的脚本:

复制代码代码如下:

mc = [aa, bb, cc, dd];//把4个影片简辑的实例名作为数组mc的元素

time = ""; //设置输入文本的初始值为""

i = 0; //设置变量i的初始值为0

function du() {//设置自定义函数,函数名为du

i++;

mc[i].play();//数组中第i个元素开始播放

if (i == 3) {

clearInterval(sj);//最后一个mc播放后,清除sj表示的setInterval函数

}

}

function duing() {//设置自定义函数,函数名为duing;

k = Math.floor(Math.random()*mc.length);//随机选择数组mc中的一个元素的序号

mc[k].play();//数组mc中第k个元素开始播放

mc.splice(k, 1);//删除数组mc中的第k个元素(影片剪辑)

if (mc.length == 0) {

clearInterval(sjing);//最后一个mc播放后,清除sjing表示的setInterval函数

}

}

2、顺序播放按扭上的脚本:

复制代码代码如下:

on (release) {

mc = [aa, bb, cc, dd];//把4个影片简辑的实例名作为数组mc的元素(为了能够重复使用)

i = 0; //设置变量i的初始值为0(为了能够重复使用)

if (time != "") {//如果输入文本不为空(输入了数字)

aa.play(); //第一个mc播放(为了第一个mc的运行不间隔时间)

var sj = setInterval(du, time*1000);

//设置setInterval函数,每隔time秒调用一次函数du

}

}

3、随机播放按扭上的脚本:

复制代码代码如下:

on (release) {

mc = [aa, bb, cc, dd];

i=0;

if (time != "") {

duing(); //调duing函数(为了第一个mc的运行不间隔时间)

var sjing = setInterval(duing, time*1000);

//设置setInterval函数,每隔time秒调用一次函数duing

}

}

作业

把例2的要求改为:不管顺序播放还是随机播放,使一个mc播放结束,后一个mc开始播放,这时的时间间隔等于输入文本的时间,如下图。

Flash AS 入门教程 setInterval函数应用举例1

源文件下载

Flash AS 入门教程 setInterval函数应用举例2

点击查看动画效果<

Flash AS 入门教程 setInterval函数应用举例3

查看全套"Flash AS 高级教程"

【Flash AS 入门教程 setInterval函数应用举例】相关文章:

Flash AS 教程:动画事件

Flash AS3教程:ImageLoader类

Flash AS3教程:Random类

Flash教程:trace()的使用

Flash AS 入门 “for”循环语句应用

Flash AS 教程:交互动画

Flash AS 入门 as自定义函数

Flash AS 入门 条件判断语句 if、else使用介绍

Flash AS3教程:动态文本滚动条

Flash AS 入门 为“关键帧”添加动作

精品推荐
分类导航