七彩课堂[FLASH动画教程系列]
flash动画影片剪辑上的事件处理的三种方法
[学习目标]:通过在部分的学习大家了解在影片剪辑上的事件处理也有三种方法。重点掌握onClipEvent()函数的使用和事件函数的编写。
我们学到这里可以看出,影片剪辑跟按纽一样的,加as的方法也是三种,当然是一样的了,都是元件呀,不同还是有的,大家在比较中去学东西。下面我们详细介绍这三种方法:
  ①针对对象的onClipEvent()事件处理函数。
② 事件处理函数方法。
③ 事件侦听器。
一、针对MC对象的onClipEvent()事件处理函数
学习了按纽的on函数再看这个就简单了。我们在讲MC的九大事件中的例子中也多次用到了,它的格式:
onClipEvent(movieEvent){
// 此处是您的语句
}
我们就理解为:当发生(九大事件中的一个或者多个),我们就做{自己写的as代码。} 这个函数使用的关键是as代码加在MC上。
下面我们看个简单的例子:
要求:通过鼠标控制MC。好象我们举的例子太简单了,其实在这里就是告诉大家如何做最基础的,有了基础大家就可以处理自己在as应用中的问题了,大家可以设计更好的例子,在回复中告诉我。
步骤:
1、新建flash文档
2、新建元件yuan,随便画个圆圈放在那里就可以了。
3、新建MC元件yuan_mc,把刚才的元件yaun拖进去,简单的做个运动动画。
4、在主场景中,新建1个图层yuan_mc把yuan_mc拖进去。
4、点元件yuan_mc加as:
onClipEvent (mouseMove) {
stop();
this._alpha = 0;
}
onClipEvent (mouseDown) {
this._alpha = 100;
play();
}
这段代码可能有2个地方大家不明白一是this就是代表元件本身,二是_alpha这个是MC的属性,透明度,=0全部透明了就看不见了,=100就不透明了,还是老样子。效果是移动鼠标小球没有了,点下又出来了。:)
二、事件处理函数方法
对于事件处理函数现在大家应该不陌生了,按纽就有十大事件函数的,对于MC复杂了点,多了好多。共18个。 事件处理函数事件说明
onDatadata当所有数据都加载到影片剪辑中时调用。
onDragOutDragOut鼠标指针位于按钮内时按下鼠标按钮,然后滑出该按钮区域,在此条件下,当鼠标指针位于该按钮外时进行调用。
onDragOverDragOver鼠标指针位于按钮内时按下鼠标按钮,然后滑出该按钮区域,接着滑回到该按钮上,在此条件下,当鼠标指针位于该按钮上时进行调用。
onEnterFrameEnterFrame以 SWF 文件的帧频持续调用。首先处理与 enterFrame 剪辑事件关联的动作,然后才处理附加到受影响帧的所有帧动作脚本。
onKeyDownKeyDown当按下按键时调用。使用 Key.getCode() 和 Key.getAscii() 方法可获取关于最后所按键的信息。
onKeyUpKeyUp当释放按键时调用。
onKillFocusKillFocus当从按钮移除焦点时调用。
onLoadLoad当影片剪辑被实例化并显示在时间轴上时调用。
onMouseDownMouseDown当按下鼠标左键时调用。
onMouseMoveMouseMove每次移动鼠标时调用。
onMouseUpMouseUp当释放鼠标左键时调用。
onPressPress在鼠标指针位于按钮上方的情况下,按下鼠标按钮时调用。
onReleaseRelease在鼠标指针位于按钮上方的情况下,释放鼠标按钮时调用。
onReleaseOutsideReleaseOutside在这样的情况下调用:在鼠标指针位于按钮内部的情况下按下按钮,然后将鼠标指针移到该按钮外部并释放鼠标按钮。
onRollOutRollOut当鼠标指针滚动到按钮区域之外时调用。
onRollOverRollOver当鼠标指针滚过按钮时调用。
onSetFocusSetFocus当按钮具有输入焦点而且释放某按键时调用。
onUnloadUnload从时间轴删除影片剪辑后,在第 1 帧中调用。处理与 Unload 影片剪辑事件关联的动作之前,不将任何动作附加到受影响的帧。
看上面的事件函数,好象都很熟悉吧,对比着按纽的去理解。
事件处理函数的基本结构仍然是:
对象.事件处理函数方法名称 = function () {
// 你编写的程序代码,对事件作出反应
}
注意,我们要把as加在时间轴上的。
下面我们做个实例:
要求:用MC做个导航。
步骤:
1、新建flash文档。
2、新建MC元件fang,画个80*40,填充颜色为#cccccc的长方形。
3、新建MC元件menu_mc,画个80*20,填充颜色为#009933的长方形,在插入新图层,放入文本框,输入"关于我们"
4、新建MC元件sub_menu_mc,拖入上面的fang,在第20插入关键桢,创建运动动画,调整第一关键桢的方高度为1,在插入新图层,放入文本框,输入"我的主页"。
5、在主场景中新建图层menu_mc,放入menu_mc,给它个名字menu_mc。
6、在主场景中新建图层sub_menu_mc放入sub_menu_mc,给它个名字sub_menu_mc。
7、新建图层as,加入下面的as代码:
menu_mc.onRollOver = function() {
sub_menu_mc.play();
};
sub_menu_mc.onRollOut = function() {
sub_menu_mc.gotoAndStop(1);
};
sub_menu_mc.onPress = function() {
getURL("http://www.qicaispace.com", "_blank");
};

ctrl+enter看效果,感觉到用事件函数比onClipEvent方便吧,这里关键搞清楚的是,这个函数是谁的,就是具体的实例,比如上面的,响应onRollOver的实例是menu_mc,要做的事情是让sub_menu_mc开始播放。
 
信息推荐
资讯中心 | 电子商务 | 搜索营销 | 设计学院 | 中医养生 | 养生保健 | 节日祝福 | 民俗文化 | 奇闻趣事
建站知识 | 人世百态 | 网站导航 | 传统节日 | 搜索热点 | 星座运势 | 趣闻轶事 | 祝福的话 | 短信大全
© 2023 QicaiSpace.Com