使用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()方法

浙公网安备 33010602011771号