自定义事件一直是困扰我的大问题之一,dispatchEvent()、Event类、addEventListener()一直都不知道他们之间的联系和自定义事件的用法,尤其是在类与类间调用方法这些方面上更是感到玄之又玄…… 幸运的是随着使用AS时间的推移,逐渐让我体会了一些东西,也不知道是否正确,但终究值得写上一点。
这个例子很简单,首先是一个fla文件——自定义事件.fla,为了简便,没有设置文档类。然后是一个外部类文件——MyEvent.as,这个就是我们的自定义事件类,保存了自定义事件的名称和可能用到的参数。他的代码如下:
package {
import flash.events.Event;
public class MyEvent extends Event{
public static const MY_EVENT="my_event";
public var name:String="";
public function MyEvent(eventType:String, args:String){
super(eventType);
name=args;
}
}
}
从上面可以很清楚的看到,在实例化类的时候就为这个新的事件对象添加了事件类型eventType和事件参数name。 这里eventType作为参数传递给了父级类Event的构造函数,以达到区分事件的目的。
fla文件上的代码如下:
thing_mc.addEventListener(MouseEvent.CLICK, onFunc);
thing_mc.addEventListener(MyEvent.MY_EVENT, onFunc2);
function onFunc(e:MouseEvent){
trace("按钮事件");
thing_mc.dispatchEvent(new MyEvent(MyEvent.MY_EVENT, "自定义事件"));
}
function onFunc2(e:MyEvent){
trace(e.name);
}
thing_mc是舞台上的影片剪辑。在其上添加了一个点击事件,在点击触发函数onFunc中,调度了我们的自定义事件MyEvent.MY_EVENT,这就是个伏笔,若在thing_mc上注册有MyEvent.MY_EVENT类的事件处理函数,则该处理函数就会被调用,这里的处理函数就是onFunc2。
综合以上,在整个过程当中,开头提到的Event类告诉程序要做的是“什么事”,addEventListener()告诉程序这件事“如何做”,dispatchEvent()则决定“何时做”这件事,即调用dispatchEvent()函数的时候就是事件要发生的时候。
分享到:
相关推荐
非FLEX组件。纯AS3代码实现。只需传入数组,数据就会以下拉菜单的形式显现
as3.0内核中已有ColorPicker,但在某些时候希望用更加简单点的颜色选取器呢,那就请下载本人制作的ColorPicker
as3.0文本框提示功能的自定义组件,传入一个数据源信息,对于文本框的点击后查询到相应的数据
flash as3.0 环境下的视频播放器,可自动更改界面,播放连续视频或其他播放模式,包中为源文件。。。下载用户自己在目录下添加vdo包用来存放视频,或自动更改目录
教你如何使用flash来开发自定义组件,很棒哦。。。
AS3.0 ZIP压缩解压源代码 AS3.0 ZIP压缩解压源代码
时钟源代码 Flash as3.0 想用as3.0创建一个时钟么,这个源代码可以帮助你轻易解决这个问题
flash as3.0实现简单计时器功能 as3.0类编程实现计时器功能 计时器源代码
使用ActionScript 3.0代码编写的简单例子,AS3.0+Flash,适用于初学者,通过学习实例,能更好的掌握as
AS3.0缓动特效AS3.0缓动特效AS3.0缓动特效AS3.0缓动特效AS3.0缓动特效AS3.0缓动特效AS3.0缓动特效AS3.0缓动特效AS3.0缓动特效
as3.0 播放器 源码 as3.0 播放器 源码 as3.0 播放器 源码
10.处理事件 11.处理 XML 12.显示编程 13.处理几何结构 14.使用绘图 API 15.过滤显示对象 16.处理影片剪辑 17.处理文本 18.处理位图 19.处理视频 20.处理声音 21.捕获用户输入 22.网络与通信 23.客户端系统环境 24....
Flash as3.0组件详细使用与开发教程.pdf
AS3.0地图制作,很好的资源,能够帮助其快速入门
ActionScript3.0 cookbook中文版和AS3.0的API
as3.0 开发小游戏,对初学as3.0有帮助
as3.0精髓 教程 as3.0学习教程
AS3.0常用公式大全 AS3.0常用公式大全 AS3.0常用公式大全
这是一个用Flash AS3.0制作出来的一个拖动小动画
as3.0小球游戏源码 学习flash as3.0技术的好实例。