您的位置:首页 > 其它

AS3自定义事件

2010-03-14 17:33 225 查看
加入事件中要自带参数的话,那就需要自定义事件了。其实使用自定义事件是非常简单的,分成三个部分:

1.定义事件类

package
{
import flash.events.Event;
public class ClickEvent extends Event
{
public static const ACTION:String = "Clicked";
public var cause:String;
public function ClickEvent()
{
super(ACTION);
}
}
}

其中super(ACTION);是唯一必须的构造函数,否则不能执行。cause是自定义的变量,可以用来传递参数。如果有必要可以用get和set来做更为复杂的处理。
补充:如果想让事件冒泡,则应该这么写-super(ACTION,true);

2.发送事件
clickEvent = new ClickEvent();
clickEvent.cause = "example";
dispatchEvent(clickEvent);

3.接收事件
navigation.addEventListener(ClickEvent.ACTION, clickHandler);
private function clickHandler(evt:ClickEvent):void {
trace("click event:"+evt.cause);
}
概括起来也就是:

一:自定义一个派生自Event类的自定义事件类,里面设定好事件的type,也就是事件的string值名,并要在初始化函数中将其传给super作参数

二:在交互处新建一个自定义事件对象,并将这个对象用dispatchEvent发送到显示列表对象

三:在目标处添加事件监听器,用于监听发送过来的事件。

可以看出,与平常的事件用法区别在于需要我们自己设定好事件发送的情况,而flash自带的一些事件则是会在某些情况发送的时候自动被发送
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: