public function loadSettings(url:String):void { var urlRequest:URLRequest = new URLRequest(url); urlLoader = new URLLoader(); urlLoader.addEventListener(Event.COMPLETE, onXMLDataLoaded); urlLoader.load(urlRequest); trace("loadSettings"); }
private function onXMLDataLoaded(event:Event):void { data = XML(urlLoader.data); dispatchEvent(new Event(Settings.INIT, true, true)); dispatchEvent(new Event(Settings.FILE,true,true)); }
public class CustomEvent extends Event { public static const EVENT_NAME:String=”event_name”;
public static const dispatcher:EventDispatcher=new EventDispatcher(); public var data:Object;
public function CustomEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, data:Object=null) { super(type, bubbles, cancelable); this.data=data; } override public function clone():Event{ return new CustomEvent(type, bubbles, cancelable, data); } } }
抛出事件时: var custom:CustomEvent=new CustomEvent(CustomEvent.CLICK); //custom.data is Object;//发送事件同时,可以传值(可传可不传) CustomEvent.dispatcher.dispatchEvent(custom);