enterFrame和Load 初学
来源:互联网 发布:足球战术板软件pc 编辑:程序博客网 时间:2024/06/04 18:10
要为影片剪辑添加脚本,首先要选中影片剪辑,再打开它对应的动作面板,然后在其中输入脚本。影片剪辑脚本和按钮的脚本类似,它们都使用事件处理函数,与按钮的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);
- enterFrame和Load 初学
- load和enterFrame
- EnterFrame和TimerEvent区别
- 关于onEnterFrame和onClipEvent(enterFrame)
- AS3中的Timer和Event.EnterFrame的区别
- 关于AS2和AS3的onEnterFrame和onClipEvent(enterFrame)的异同
- flex的enterFrame事件
- [初学笔记] fopen fclose fprintf fileparts, load & save,whos & struct
- 将多个EnterFrame合并起来,进行运算优化
- get 和 load 区别
- save和load
- get和load方式
- hibernate get()和load()
- hibernate get()和load()
- load()和get()
- require 和 load
- get和load方式 .
- hibernate load 和get
- VC用ADO访问数据库全攻略
- sql语句 访问不同数据库服务器中的数据库对象的方法
- 新加坡欲上海抢才:半导体行业首当其冲
- JPEG文件格式简单分析
- 20个VC++开发小技巧
- enterFrame和Load 初学
- 什么是电路交换、报文交换和分组交换?
- 旭日
- 曲线信息化。直线是最快的,但是经常是走不通
- 为CKEditor3.0 配置 CKfinder3.0
- Direct初始化三步曲
- 死了都要try
- Firefox插件开发(extension): Hello World!
- .NET2.0状态管理