影片剪辑脚本和按钮的脚本类似,它们都使用事件处理函数,与按钮的on关键字不同,影片剪辑使用 onClipEvent关键字。当某种影片剪辑事件发生时,就会触发相应的事件处理函数。

影片剪辑最重要的两种事件是load和enterFrame,这个两个事件感觉看着很简单,但是你真的明白吗?(说实话,我刚开始学的时候,就好长时间不明白,我每次都试这个不对,在试另外的一个,今天有人有也问到了这个问题,我就写出来给大家一起分享吧!很明白的,就当作复习吧,要不就直接不用看了,不明白的,就好好的看看,有什么疑问,留言告诉给我们,好吗?)load事件在影片剪辑完全加载到内存中时发生。在每次播放Flash影片时,每个影片剪辑的load事件只发生一次。

在主时间轴停止播放时,影片中的影片剪辑并不会停止播放,这个特性决定了影片剪辑的另一个事件enterFrame的重要性。enterFrame事件在影片每次播放到影片剪辑所在帧时发生。如果主时间轴中只有一帧,且不论它是否在该帧停止,该帧中的影片剪辑都会不断触发enterFrame事件,且触发的频率与Flash影片的帧频一致。

影片剪辑事件的使用方法如下所示:

onClipEvent (load) {
var i = 0;
}
onClipEvent (enterFrame) {
trace(i);
i++;
}

当影片剪辑的load事件发生时,将变量i设置为0。当影片剪辑的enterFrame事件发生时,向输出窗口中发送i的值,然后将i加1。输出窗口中会从0开始输出以1递增的数字序列,直到影片被关闭为止。

为了熟悉影片剪辑事件处理函数的用法,我们来为影片剪辑编写一段简单的脚本,使影片剪辑逆序播放,我们将从影片剪辑的最后一帧处开始播放,使用prevFrame命令使影片剪辑每次后退一帧。

本例文件场景中有一个影片剪辑元件rollmc,查看一下它的属性面板,并没有为其实例命名,这是因为我们要直接在影片剪辑的动作面板中添加脚本,并不需要用到实例名称。

选中影片剪辑rollmc,此时动作面板的标题栏中应为“动作-影片剪辑”。打开动作面板,其中添加了如下ActionScript:

onClipEvent (load) {
gotoAndStop(40);
}
onClipEvent (enterFrame) {
prevFrame();
}

在事件处理函数onClipEvent (load)中,令Flash影片的播放头转到影片剪辑的第40帧(即最后一帧)。这个事件处理函数只在影片剪辑被加载完成时执行1次。第2个事件处理函数onClipEvent (enterFrame)每播放1帧就执行1次,使影片剪辑回退1帧。

按Ctrl+Enter键测试影片,你将看到齿轮以与上例相反的方向转动,直到影片剪辑的时间轴回到第1帧,prevFrame命令不起作用,影片剪辑停止播放。要让它连续不断的播放,可以在影片剪辑元件rollmc的时间轴第1帧的动作面板中添加如下语句:

gotoAndStop(40);

转载于:https://www.cnblogs.com/maystudy/archive/2012/04/25/2470742.html

enterFrame是什么意思?相关推荐

  1. 【转】Flex Application 初始化顺序

    转自:http://www.jexchen.com 大家都知道,我们在编写Flex应用程序时,通常是以<mx:Application>标签作为开头,实际上,Flex应用程序在启动运行的时候 ...

  2. as3绕过策略文件给视频截图

    接上篇 http://www.cnblogs.com/DarkMaster/p/5973593.html 这篇同样是在老外博客上找到的,分享给大家,再次感叹老外牛逼啊. 原文地址:http://gam ...

  3. (转)一个as3写的减速效果

    2019独角兽企业重金招聘Python工程师标准>>> 写了好久没写出来,网上找到了,谢谢作者 原文:http://hi.baidu.com/sl19880127sl/blog/it ...

  4. 下面使用计算机动画制作的,2020年最新电大《计算机二维动画制作》形考作业任务01-03网考试题及答案(10页)-原创力文档...

    最新电大<计算机二维动画制作>形考作业任务1-3网考试题及答案 1%通过 考试说明<计算机二维动画制作>形考共有3个任务.做考题时,利用本文档中的查找工具,把考题中的关键字输到 ...

  5. Flash 最小化,帧速变慢的问题

    技术基础就是补帧,EntryFrame是1/24秒执行一次,在每次执行到的时候检测下延迟,超出延迟范围的就视为需要补帧,用for循环执行缺少的帧数         recoup=new Date(). ...

  6. C#扩展方法应用之 try catch finally 封装

    本文将介绍如何利用扩展方法将 try catch finally 语句块简化成如下的调用形式: public void Test1(){Employee emp = new Employee();em ...

  7. task2:opencv的python接口图像储存、色彩空间、

    task2:图像储存.色彩空间.图像的算数运算. 笔记: 使用managers.WindowManager抽象窗口和键盘: main.py: import cv2 from manager impor ...

  8. 属性访问器(Property Accessor)----Setter/Getter

    Setter/Getter:属性/成员变量的封装 本质上是实例方法,但是在类的外部作为属性来访问,它允许创建只读和只写属性. 使用: getter方法:必须有返回类型,且和要访问的私有属性类型一致.必 ...

  9. AS3 CookBook学习整理(一)

    1. 我要改变swf的尺寸和颜色 在flex builder 3里,默认会生成一个全屏.背景色为#869CA7.帧数为24/秒的swf文件,要修改这些参数,只需要在类文件中定义 [SWF(width= ...

最新文章

  1. 柳编产业临沭谋定转型升级 农民丰收节交易会技能兴鲁
  2. 计算机高级语言程序Access,[计算机软件及应用]Access的编程语言VBA.ppt
  3. 2021年,Java开发者值得学习的13项技能
  4. m.2接口和nvme区别_M.2硬盘的分类和区别
  5. bootstrap 中这段代码 使bundles 失败
  6. eclipse安装一直卡在安装中_Eclipse软件安装包+安装教程
  7. 吴立德机器学习笔记(转)
  8. 关于lidroid xUtils 开源项目
  9. OpenSSL API: SSL对象和SSL_CTX对象的使用
  10. 【4G模块】-有方科技Neoway-N720
  11. python二级考试程序题批改_python开发一个自动批改本地Word作业的程序
  12. 用户·角色·权限·表
  13. 复杂性思维中文第二版 八、自组织临界
  14. Python计算细胞核与细胞质的面积比opencv或pil实验
  15. 云计算机怎么分盘,电脑硬盘怎么分区
  16. matlab2021安装教程
  17. 自己编写一个读取TGA文件的类
  18. javaWeb项目部署到远程服务器(windows服务器)
  19. 一个来自内蒙 正式工作两年的攻城狮的独白以及总结
  20. linux画平面图软件,画平面图最简单软件.docx

热门文章

  1. (转微软网站)如何安装 Microsoft Dynamics CRM 4.0 具有最低必需权限
  2. 64位进程调用32位dll的解决方法
  3. VUE config/index.js文件配置
  4. BP神经网络python简单实现
  5. [BFS]JZOJ 4672 Graph Coloring
  6. border-radius 涨知识的写法
  7. Zabbix监控(十六):分布式监控-Zabbix Proxy
  8. VS2008 JS调试和Silverlight 后台代码调试 相互影响的问题。---自己做实例证明
  9. 如何击败Python的问题
  10. 680. 验证回文字符串 Ⅱ