自定義事件
- 事件的定義(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類的時候,進行添加,個人認為在事件類里主要是指定事件類型和在發送中要運送的數據。
- 當然是事件主要用處了,就是在監聽器里加上要執行的事件。
posted on 2010-12-07 14:45 aiaiwoo 閱讀(245) 評論(0) 編輯 收藏 所屬分類: AC3/FLEX