1. 事件的定义(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 }
  2. 事件的监听只能是function,而不能是object了。
  3. 事件的监听一定要在发送执行之前定义。
  4.  在事件中添加自己代码的地方
    1. 巧用IEventDispatcher接口和EventDispatcher类,这些在黑羽的blog上写的比较详细。
    2. 继承EVENT类的时候,进行添加,个人认为在事件类里主要是指定事件类型和在发送中要运送的数据。
    3. 当然是事件主要用处了,就是在监听器里加上要执行的事件。
posted on 2006-12-01 15:59  FireYang  阅读(1517)  评论(0编辑  收藏  举报