Flash AS20 onClipEvent 事件名称.docx
- 文档编号:3148901
- 上传时间:2022-11-18
- 格式:DOCX
- 页数:7
- 大小:128.47KB
Flash AS20 onClipEvent 事件名称.docx
《Flash AS20 onClipEvent 事件名称.docx》由会员分享,可在线阅读,更多相关《Flash AS20 onClipEvent 事件名称.docx(7页珍藏版)》请在冰豆网上搜索。
FlashAS20onClipEvent事件名称
onClipEvent(事件){
//需要执行的脚本程序
}
这个可以看成是公式,你记住就行了,是写在影片剪辑身上的。
括号里的“事件”其实是个触发器,当事件发生时,执行该事件后面花括号中的语句。
具体有哪些事件,我把它们都列出来。
-load影片剪辑一旦被实例化并出现在时间轴中时,即启动此动作。
-unload在从时间轴中删除影片剪辑之后,此动作在第一帧中启动。
处理与Unload影片剪辑事件关联的动作之前,不向受影响的帧附加任何动作。
-enterFrame以影片帧频不断地触发此动作。
-mouseMove每次移动鼠标时启动此动作。
_xmouse和_ymouse属性用于确定当前鼠标位置。
-mouseDown当按下鼠标左键时启动此动作。
-mouseUp当释放鼠标左键时启动此动作。
-keyDown当按下某个键时启动此动作。
使用Key.getCode方法获取最近按下的键的有关信息。
-keyUp当释放某个键时启动此动作。
使用Key.getCode方法获取最近按下的键的有关信息。
-data当在loadVariables或loadMovie动作中接收数据时启动此动作。
当与loadVariables动作一起指定时,data事件只发生一次,即加载最后一个变量时。
当与loadMovie动作一起指定时,获取数据的每一部分时,data事件都重复发生。
Load事件
load事件在影片剪辑完全加载到内存中时发生。
在每次播放Flash影片时,每个影片剪辑的load事件只发生一次。
认识load事件
(1)在场景中建立一个影片剪辑实例,选中实例,打开“动作”面板,输入下列代码:
onClipEvent(load){
trace("发生load事件");
}
(2)测试影片,在“输出”面板中看到的输出信息只有一次。
(3)返回主场景,在第二帧插入一帧,测试影片,虽然帧不断循环播放,但输出信息也只有一次。
(4)返回主场景,在第二帧插入一空白关键帧,让其循环播放。
测试影片,将不断的输出信息。
说明:
通过测试可以看出,当影片剪辑出现在时间轴上时,load事件发生,当实例在时间轴上消失时又重新出现时,也会发生load事件。
Load事件通常用来声明初始化变量,当影片一出现时就会加载这些变量,其它程序就可以调用这些变量。
Unload事件
Unload与load事件刚好相反,当影片剪辑实例在时间轴在消失时才会发生。
对比load事件和unload事件,在上面实例的基础上,执行下列操作。
(1)打开影片剪辑的实例面板,把代码改为:
onClipEvent(load){
trace("发生load事件");
}
onClipEvent(unload){
trace("发生unload事件");
}
(2)移出第二帧上的空白关键帧,在第20帧插入帧,第21帧插入空白关键帧。
第40帧插入帧。
测试影片,观看输出信息。
间隔地发生load事件和unload事件
enterFrame事件
在主时间轴停止播放时,影片中的影片剪辑并不会停止播放,这个特性决定了影片剪辑的另一个事件enterFrame的重要性。
enterFrame事件是以影片剪辑帧频不断触发的动作。
且触发的频率与Flash影片的帧频一致。
enterFrame事件首先处理与enterFrame影片剪辑事件关联的动作,然后才处理附加到受影响帧的所有动作。
enterFrame事件其实是一个不断执行的程序,执行的速度取决于帧频。
Flash中默认的帧频是12fps,表示播放12帧需要一秒的时间,利用这个原理可以制作一个简单的计时器。
enterFrame事件制作计时器
制作:
(1)在舞台上建立两个动态文本,并在属性面板里设置变量名为:
“a_txt”、“b_txt”。
在第2帧插入帧
(2)插“图层2”,在此图层上用静态文本输入文字:
“简单记时器”,然后转化为影片剪辑元件。
在第2帧插图入关键帧。
(3)选中此实例,打开“动作”面板,输入下列代码:
onClipEvent(load){
_root.stop();
vari=0;
}
//当影片载入时初始变量i
onClipEvent(enterFrame){
i++;
//影片进入帧时,程序每执行一次,i加1
_root.a_txt=i;
//场景中的动态文本显示i的值
_root.b_txt=Math.round(i/12*100)/100;
//把i除以帧频,使enterFrame每执行一次得到所需时间,并保留两位数
}
(4)插入“图层3”在“图层3”建立三个按钮实例,分别用作“计算”、“停止”、清除
(5)分别选中两个按钮,打开“动作”面板,输入下列代码:
计算按钮上的代码:
on(press){
gotoAndStop
(2);
}
停止按钮上的代码:
on(press){
gotoAndStop
(1);
}
清除按钮上的代码:
on(press){
i=0;
a_txt="";
b_txt="";
}
(5)插入“图层4”在“图层4“的第1帧添加代码:
stop();
测试影片。
通过这个实例我们可以看到:
enterFrame事件是以影片剪辑帧频不断触发的动作。
且触发的频率与Flash影片的帧频一致。
mouseMove事件:
每次移动鼠标时启动此动作。
_xmouse和_ymouse属性用于确定当前鼠标位置。
mouseDown事件:
当按下鼠标左键时启动此动作
mouseUp事件:
当释放鼠标左键时启动此动作
对于这三个鼠标响应事件,要与按钮中的鼠标事件区别,前者在影片的任何位置都能触发事件,后者一定要单击按钮区域才会触发事件。
鼠标行为控制小球
制作步骤:
(1)新建一个影片剪辑“元件1”,在其编辑区中给制一个小球,用放射状填充,填充色为#FBFBFB、#070707,居中对齐,然后把绘制好的小球转换为影片剪辑“元件2”。
(2)选中元件1中的“元件2”,打开动作面板,添加代码:
onClipEvent(load){
kk=false;
}
onClipEvent(mouseDown){
kk=true;
}
onClipEvent(mouseUp){
kk=false;
}
onClipEvent(enterFrame){
if(kk){
_x+=(this._parent._xmouse+_x)/20;
_y+=(this._parent._ymouse+_y)/20;
}elseif(kk==false){
_x+=(this._parent._xmouse-_x)/20;
_y+=(this._parent._ymouse-_y)/20;
}
}
(3)把“元件”1提到场景,用任意变形工具把小球的中心点垂直下移到小球外,再用变形面板,设置旋转60度,点击复制并应用变形按钮5次,复制出5个小球,此时6个小球排成一排
(4)在属性面板里分别改变小球的颜色。
(5)测试影片。
鼠标移动,按下,释放观看效果。
制作简单的Flash涂鸦板
(1)新建一个影片剪辑元件。
返回主场景,打开“库”面板,从“库”面板中拖出影片剪辑,创建一个空影片剪辑实例。
(2)选中场景中的空影片剪辑实例,打开“动作”面板,输入下面代码:
onClipEvent(mouseMove){
if(myDraw){
_root.lineStyle(5,0xFF0000,100);
_root.lineTo(_root._xmouse,_root._ymouse);
}
}
//当鼠标移动时,沿鼠标位置不断画线
onClipEvent(mouseDown){
myDraw=true;
_root.moveTo(_root._xmouse,_root._ymouse);
}
//鼠标按下时myDraw为真,并在鼠标位置定义画线的起点
onClipEvent(mouseUp){
myDraw=false;
}
//当鼠标释放时,myDraw为假,停止画线
(3)在舞台上创建一个按钮,在按钮上添加代码:
on(press){
clear()//删除所画线
}
提示:
使用moveTo()和lineTo()函数时只需在函数中加入参数,如moveTo(x1,y1)代
表从点(x1,y1)
处开始画线,lineTo(x2,y2)代表画线的终点是((x2,y2)。
使用这两个函数之前必顺先用
lineStyle()函数定
义线的式样。
moveTo()功能:
将当前绘画位置移动到(x,y)。
如果缺少任何一个参数,则此方法将失败,
并且当前绘画位
置不改变。
您可以通过创建子类来扩展MovieClip类的方法和事件处理函数。
lineTo()功能:
使用当前线条样式绘制一条从当前绘画位置到(x,y)的线条;当前绘画位置随后会设置为(x,y)。
如果正在其中绘制的影片剪辑包含用Flash绘画工具创建的内
容,则调用lineTo()方法将在该内容下面进行绘制。
如果在对moveTo()进行任何调用之
前调用了lineTo(),则当前绘画位置默认为(0,0)。
如果缺少任何一个参数,则此方法将失
败,并且当前绘画位置不改变。
lineStyle()功能:
指定Flash用于后续lineTo()和curveTo()方法调用的线条样式,在以
不同参数调用lineStyle()方法之前,线条样式不会改变。
可以在绘制路径的中间调用
lineStyle()以为路径中的不同线段指定不同的样式。
keyDown:
当按下某个键时启动此动作。
使用Key.getCode()获取有关最后按下的键的信息
KeyUp:
当释放某个键时启动此动作。
小结:
在onClipEvent()函数的事件中load事件和enterFrame事件是最常用,最重要的。
大家一定要掌握好。
在影片剪辑上写命令一定要选加上onClipEvent()事件处理函数。
就如同在按钮上加命令要先加on命令。
这一点大家一定要牢牢记住。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Flash AS20 onClipEvent 事件名称 事件 名称
![提示](https://static.bdocx.com/images/bang_tan.gif)