使用dispatchEvent调度事件

1  首先调度事件 dispatchEvent(new Event("rebuild"))   这里调度一个名字叫"rebuild"的事件

2  在一个地方侦听事件_mc.addEventListener("rebuild",doFunction)  当侦听到rebuild事件时开始启动doFunction函数

以上方法可以简单使用,直接调度事件,并且侦听事件

 

=======以下是flash帮助中的一个例子 用来理解===================

package {
    import flash.display.Sprite;
    import flash.events.Event;
    //这个类就是用来侦听事件的
    public class EventDispatcherExample extends Sprite {

        public function EventDispatcherExample() {
           var dispatcher:CustomDispatcher = new CustomDispatcher();//这里创建实例服务下面
            dispatcher.addEventListener(CustomDispatcher.ACTION, actionHandler);
            dispatcher.doAction();
        }

        private function actionHandler(event:Event):void {
            trace("actionHandler: " + event);
        }
    }
}

import flash.events.EventDispatcher;
import flash.events.Event;

class CustomDispatcher extends EventDispatcher {
    public static var ACTION:String = "action";

    public function doAction():void {
        dispatchEvent(new Event(CustomDispatcher.ACTION));
    }
}

======================下面是用创建一个EVENT类来使用==================================
package 
{
 import flash.events.Event;
  public class AlarmEvent extends Event
 {
    public static const ALARM:String = "alarm";
  
    public var message:String;
  
   public function AlarmEvent(message:String = "ALARM!")
  {
   super(ALARM);//这一句很重要它构建Event类,为Event创建"alarm“事件
 
   this.message = message;
  }
  
    public override function clone():Event //修改Event类的clone方法
  {
   return new AlarmEvent(message);
  }
  
  
  public override function toString():String //修改Event类的toString方法
  {
   return formatToString("AlarmEvent", "type", "bubbles", "cancelable", "eventPhase", "message");
  }
 }
}
在需要使用的地方
var alarm:AlarmEvent = new AlarmEvent(this.alarmMessage);//调用Event类
_mc.dispatchEvent(alarm);启用dispatchEvent()方法
 



 



 

posted @ 2010-01-11 21:30  蓝魔  阅读(433)  评论(0)    收藏  举报