- 事件的定义(new Event),发送(dispatchEvent)和监听(addEventListener)都应该在类的本身或由这个生成的对象上。
- 自定义事件(为了便于理解这里用中文,发现居然可以,呵呵-_-!)
1 package
2 {
3 import flash.events.Event;
4 public class EatEvent extends Event
5 {
6 public static const EAT:String = "吃饭";
7 public function EatEvent(type:String)//其他属性先不考虑
8 {
9 super(type);
10 trace("定义吃饭的时候执行,比如准备酒菜!");
11 }
12 }
13 } - 调用事件
1 package
2 {
3 import flash.display.Sprite;
4 import flash.events.Event;
5 import flash.events.EventDispatcher;
6
7 public class people extends Sprite
8 {
9 public var eatEvent:EatEvent;//定义一个“吃饭”的事件
10 private var patch:EventDispatcher;
11 public function people()
12 {
13 this.addEventListener(EatEvent.EAT,eatHalder);
14 eatEvent = new EatEvent(EatEvent.EAT);//创建事件对象
15 dispatchEvent(eatEvent);//发送
16 }
17 private function eatHalder(e:Event):void
18 {
19 trace("知道了,马上就来了!");
20 }
21 }
22 }
- 自定义事件(为了便于理解这里用中文,发现居然可以,呵呵-_-!)
- 事件的监听只能是function,而不能是object了。
- 事件的监听一定要在发送执行之前定义。
- 在事件中添加自己代码的地方
- 巧用IEventDispatcher接口和EventDispatcher类,这些在黑羽的blog上写的比较详细。
- 继承EVENT类的时候,进行添加,个人认为在事件类里主要是指定事件类型和在发送中要运送的数据。
- 当然是事件主要用处了,就是在监听器里加上要执行的事件。