⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sampleieventdispatcher.as

📁 《Flash AS3殿堂之路》光盘源码 学习ActionScript 3.0
💻 AS
字号:
package org.kingda.book.event
{
	import flash.display.Sprite;
	import flash.events.*;

	public class SampleIEventDispatcher extends Sprite
	{
		public function SampleIEventDispatcher() {
			var kingdaObj:KingdaClass = new KingdaClass();
			kingdaObj.addEventListener(KingdaClass.ACTION, lisFunc); //用起来和EventDispatcher对象一样哦,呵呵。
			
			var evtObj:Event = new Event(KingdaClass.ACTION);
			trace (kingdaObj is EventDispatcher); //输出:false
			trace (kingdaObj is IEventDispatcher);//输出:true

			kingdaObj.dispatchEvent(evtObj);//确实一模一样			
			//输出:listened:yeahyeah
		}
		
		private function lisFunc(evtObj:Event):void {
			trace ("listened:"+evtObj.type);
		}
	}
}
	import flash.events.IEventDispatcher;
	import flash.events.EventDispatcher;
	import flash.events.Event;

	class KingdaClass implements IEventDispatcher{
		public var _dispatcher:EventDispatcher;
		public static const ACTION:String = "yeahyeah";
		
		public function KingdaClass() {
			// other ....
			initSender();
		}
		
		private function initSender():void {
			_dispatcher = new EventDispatcher(this);
		}
        //哈哈,在实现接口时还可以乘机干点别的,比如我喜欢吧useWeakReference设为true
    	public function addEventListener(type:String, 
    									 listener:Function, 
    									 useCapture:Boolean = false, 
    									 priority:int = 0, 
    									 useWeakReference:Boolean = true):void{
                    	// do other things;
        	_dispatcher.addEventListener(type, listener, useCapture, priority, useWeakReference);
 	   }
           
    	public function dispatchEvent(evt:Event):Boolean{
        	// do other things;
			return _dispatcher.dispatchEvent(evt);
    	}
    
	    public function hasEventListener(type:String):Boolean{
    	            	// do other things;
                 return _dispatcher.hasEventListener(type);
    	}
    
	    public function removeEventListener(type:String, 
	    									listener:Function, 
	    									useCapture:Boolean = false):void{
        	// do other things;
    	    _dispatcher.removeEventListener(type, listener, useCapture);
    	}
                   
	    public function willTrigger(type:String):Boolean {
        	// do other things;
    	    return _dispatcher.willTrigger(type);
	    }
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -