我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 图型图像 > FLASH > FlashAS实例学习:onEnterFrame事件与摧毁此事件
热门文章排行
热门文章排行 Photoshop制作精美的简历封面(10-12)
在Flash课件中正确调用SWF文件(11-25)
巧用Photoshop徒手绘制扇子(10-19)
CorelDRAW12循序渐进-制作文本效果(12-29)
消除文字勾边后产生毛刺的小技巧(06-14)
精采文章排行
精采文章排行 GIF动态图片的修改(11-07)
Q版人物绘制全过程(11-07)
Flash互动电子地图制作手册——入门(11-01)
Flash 8.0前瞻——揭开8 ball的薄面(10-24)
土人AS入门教程对象篇(10-24)
技术专题推荐
网管论坛交流
 

FlashAS实例学习:onEnterFrame事件与摧毁此事件 

作者:佚名   来源:Linux 宝库   点击:   日期:2006-11-25


-->
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间隔时间调用函数好用。下一节,学习定义函数并且调用。





文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·消除文字勾边后产生毛刺的小技巧 · 解决COREDRAW9与双核CPU冲突的技巧 5
·CorelDRAW入门与进阶实例:8.2椭圆按钮制 ·CorelDRAW印前分色新手上路
·IllustratorCS制作刺绣效果 ·CorelDRAW使用技巧-如何在CorelDRAW中虚

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。