今天是:
设为首页 加入收藏 网站地图  
正在加截flash,如果长时间无显示,请下载FlashPlayer 9.0
您现在的位置: 呼网互联 >> 技术教程 >> Flash设计 >> 操作应用 >> 教程正文 用户登录 新用户注册
运用实例一 onEnterFrame事件与摧毁此事件         ★★★
运用实例一 onEnterFrame事件与摧毁此事件
作者:鬼市 文章来源:闪吧 点击数: 更新时间:2005-12-01 17:33:18
  onEnterFrame?是一个以影片剪辑帧频不断触发的动作,利用它可以不断地执行{}中的命令,但是执行完毕后,应当将此事件摧毁,以释放脚本所用的内存。
摧毁此事件的语法是delete
我们来复制50个虫子,当复制完毕后,摧毁此 onEnterFrame事件。请按照下列步骤操作:
1、放一个虫子在舞台上,实例名为bug,
2、选中第一桢,打开动作面板,输入:

以下是代码片段:
var max:Number = 50;
var i:Number = 0;
onEnterFrame = function () {
duplicateMovieClip("bug", "bug"+i, i);
// 复制bug,bug的新ID分别是bug0 bug1 bug2...
this["bug"+i]._x = random(400);
// 新的bug的坐标分别是400内任意的数
this["bug"+i]._y = random(400);
this["bug"+i]._rotation = random(180);
// 新的bug的旋转是180内任意的数,便于让虫子的头朝向各个方向
i++;
// 由于bug新的ID不能相同,故需要i++
if (i>=50) {
// 如果复制的数量大于等于50
delete this.onEnterFrame;
// 删除此事件
}
trace(i);
// 跟踪i,并且测试在没有delete的情况下i的情况
};




点评:
1、在使用onEnterFrame的时候,一定要考虑到delete this.onEnterFrame,如果在同一个SWF文档中有比较多的onEnterFram的时候,会明显的感觉到电脑的负荷比较重的。
2、[]符号本身是数组操作符(关于数组,后面有比较详细的教程),使用数组操作符,可以对当前对象进行引用,在这里就相当于bug0、bug、1bug2....bug50共51个影片剪辑名称的浓缩写法。
3、random()是内置类之核心对象中的数学类对象中的一个函数,例: random(4)可能得到 0,1,2,3中的任何一个.
4、要多看帮助说明,即使看不懂,也要坚持,否则提高AS写作水平就比较难。
5、利用onEnterFrame原则上是按照桢频率的速度读取的,即:如果桢频率为12桢/秒,那么每读取一次需要的时间是1/12秒,这只是原则上是这样的,但当AS脚本很多的时候,往往读取的速度要下降,因此此事件没有利用setInterval间隔时间调用函数好用。下一节,学习定义函数并且调用。

教程录入:流云    责任编辑:流云 
  • 上一篇教程:

  • 下一篇教程: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    · Win XP设置技巧
    · 注册表全攻略
    · Dreamweaver 8
    · Fireworks 8
    · Flash 8
    · Photoshop CS2
    · Corel Draw
    普通教程[组图]十招学会使用Win
    普通教程[组图]Vista兼容性问题
    普通教程[组图]让低端显卡运行V
    推荐教程[图文]多图激赏:Window
    普通教程[组图]Windows Vista小
    推荐教程[图文]CSS实现星级效果
    普通教程[组图]你知道吗?有关V
    推荐教程[图文]廿五则Windows V
    推荐教程[图文]多图激赏:Window
    推荐教程[图文]CSS实现星级效果
    推荐教程[图文]廿五则Windows V
    推荐教程[图文]CorelDRAW经典教
    推荐教程[图文]蓝色人物绘制教程
    推荐教程[图文]韩式风格教程之油
    推荐教程[图文]AI进阶教程之月亮
    推荐教程XP中可以被禁用的服务对
    没有相关教程

    多图激赏:Windows V

    CSS实现星级效果总结

    廿五则Windows Vist

    可控声音 flash 教程
    (只显示最新10条。评论内容只代表网友观点,与本站立场无关!)