AS3自定义事件

加入事件中要自带参数的话,那就需要自定义事件了。其实使用自定义事件是非常简单的,分成三个部分:

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自带的一些事件则是会在某些情况发送的时候自动被发送

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值