Flash AS 入门教程 setInterval函数应用举例
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun)
setInterval动作的作用是在播放动画的时,每隔一定时间就调用函数,方法或对象。源文件下载
本节知识要点:
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间隔相同时间播放;
本例题来源于网友的提问,看下图:
问题思路:
对于顺序播放:设置一个播放一个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 cs6想要实现鼠标跟随效果?该怎么制作呢?今天我们就来看看使用as2.0实现鼠标跟随效果的教程,需要的朋友可以参考下2019-05-19
- Flash cs6怎么使用代码输入中英文文本?Flash cs6中可以使用文字工具直接输入文本,也可以使用代码来输入文本,该怎么使用代码输入文本呢?请看下文详细的教程,需要的朋友2018-03-11
- flash as3.0抽象类怎么定义? as3.0中有很多抽象类,该怎么定义抽象类和抽象方法呢?下面我们就来看看简单的例子,需要的朋友可以参考下http://www.jb51.net/softs/408402.2018-02-28
flash cs6中怎么使用ActionScript3.0?
flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,该怎么使用呢?下面我们就来看看详细的教程,需要的朋友可以参考下2018-01-25- 本教程给大家分享一个Flash小教程,教大家在Flash CS6中怎么实现鼠标点击决定图像位置?方法很简单,感兴趣的朋友欢迎前来一起分享学习2018-01-12
- 本教程教程序员之家的ActionScript教程学习者在Flash中如何用代码将图片放在自己想要的舞台位置,教程讲解的详细,感兴趣的朋友欢迎前来分享学习2017-11-20
- 本教程教程序员之家的ActionScript教程学习者如何在Flash CS6中使用with函数绘制背景图?教程一步步讲解的挺详细,方法也不难,非常适合Flash新手入门学习2017-11-18
Flash怎么设置元件坐标?flash使用代码设置元件的坐标的教程
Flash怎么设置元件坐标?flash中导如的元件需要添加坐标,该怎么定位元件坐标呢?下面我们就来看看flash使用代码设置元件的坐标的教程,需要的朋友可以参考下2017-10-11- Flash怎么制作来回摇摆的花朵的动画?Flash中想要给花朵制作一段摇摆的动画效果,该怎么制作呢?下面我们就来看看详细的教程,很简单,需要的朋友可以参考下2017-05-23
- Flash怎么制作流动七彩色的文字?想要让文字动起来,该怎么使用flash给文字制作一个流动七彩色的动画呢?下面我们就来看看详细的教程,需要的朋友可以参考下2017-04-23
最新评论