函数的定义和调用
作者:鬼市 类型:闪吧BBS 来源:闪吧
点击浏览该文件
点击浏览该文件有人将函数比喻成一个加工的机器,一个碾米机输入的是稻谷,输出的是大米;一个random(5)函数,输入的是5,输出的是0~4的任意一个;random()是FLASH本身内置的,我们可以自己定义一个这样的加工的机器,这样,输入什么,输出什么,就全由我们自己作主了。现在开始定义一个这样的函数,只要我们输入一个数,就输出这个数的3倍的数。
function cont(n:Number){
trace(3*n)
}
以上定义了一个函数,这个函数好比一个停放在这里没有使用的机器。先看看这个机器是干什么用的呢.function是AS中的规定,告诉我们,将要定义一个函数,cont是这个函数的名字,就好比加工的机器的名字;n是参数,就好比是要输入到机器中的东西.trace(3*n)是这个函数要执行的内容,就好比机器将要把输入的东西怎么处理.现在我们可以开动这个机器了.跟着写:trace(3*n)
}
cont(5)这样就表示执行函数了,为函数输入一个数字5.
以上定义了一个简单的函数.其实定义函数的主要目的是为了多次调用的方便,比如有很多按钮上都要调用这个函数,并且要求输入的参数不同,那么用处就体现出来了.比如调用上面的函数cont:
on(press){
cont(6)//输出18
}
on(press){
cont(7)//输出21
}
on(press){
cont(8)//输出24
}
cont(6)//输出18
}
on(press){
cont(7)//输出21
}
on(press){
cont(8)//输出24
}
使用函数还有一个好处,就是可以设定间隔多少时间进行调用.例如我们要每间隔1秒调用以下上面的cont函数,可以这样写.
setInterval(cont,1000,5)//cont为函数名,1000为间隔时间,单位是毫秒,5就是参数.于是每隔1秒钟就会调用一次cont函数,但我们如果希望该函数只调用10次就停止,该如何操作呢?完整AS如下:(请复制此AS进行测试)
| function cont(n:Number) { trace(3*n); if(m==undefined){//由于没有定义m,m在这里只有第一次读取符合条件,第二次之后,就直接进行++了 m=0 } m++ if (m>=10) { clearInterval(aa);//清除对setInterval的调用 } } aa=setInterval(cont,1000,5) |
| var i:Number = 0; function dup(max:Number) { duplicateMovieClip("_root.bug", "bug"+i, i); // 复制bug,bug的新ID分别是bug0 bug1 bug2... _root["bug"+i]._x = random(400); // 新的bug的坐标分别是400内任意的数 _root["bug"+i]._y = random(400); _root["bug"+i]._rotation = random(180); // 新的bug的旋转是180内任意的数,便于让虫子的头朝向各个方向 i++; // 由于bug新的ID不能相同,故需要i++ if (i>=max) { // 如果复制的数量大于等于50 clearInterval(aa); // delete this.onEnterFrame; // 删除此事件 } trace(i); // 跟踪i,并且测试在没有delete的情况下i的情况 } aa = setInterval(dup, 500, 50); |
责任编辑:uufeng 时间:2005年9月18日
- 最近更新
