一個很好的簡單的開始新的一天!dispatchEvent靜態類 - AS3
我不能在我的static class
中使用dispatchEvent
,我想知道是否有人知道我可以如何實現類似的功能,或者如果可以從我的靜態類中調用dispatchEvent?
我基本上想在我的靜態類中的功能完成時通知我的動作腳本代碼。
感謝,
一個很好的簡單的開始新的一天!dispatchEvent靜態類 - AS3
我不能在我的static class
中使用dispatchEvent
,我想知道是否有人知道我可以如何實現類似的功能,或者如果可以從我的靜態類中調用dispatchEvent?
我基本上想在我的靜態類中的功能完成時通知我的動作腳本代碼。
感謝,
在閱讀答案並瞭解我能做什麼之後,我實現了以下(認爲如果他們能看到一些示例代碼,它將在未來幫助用戶)。
private static var dispatcher:EventDispatcher = new EventDispatcher();
public static function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void {
dispatcher.addEventListener(type, listener, useCapture, priority, useWeakReference);
}
public static function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void {
dispatcher.removeEventListener(type, listener, useCapture);
}
public static function dispatchEvent(event:Event):Boolean {
return dispatcher.dispatchEvent(event);
}
public static function hasEventListener(type:String):Boolean {
return dispatcher.hasEventListener(type);
}
你可以使用一個私有變量_dispatcher:此事件,並實現IEventDispatcher接口。
然後,您可以借道調度的事件。讓我知道這是否足以讓你走。
一個直接的解決方法,我可以看到的是有一個靜態變量是你的EventDispatcher
- 當你得到addEventListener
叫,你把它連接到你的EventDispatcher
- 每當你想火/分派事件,你告訴所以你EventDispatcher
。
靜態類(具有靜態屬性和方法的類)不能繼承普通的實例級方法,也不能實現具有靜態方法的接口。所以你的public static function dispatchEvent
不能參加EventDispatcher
或IEventDispatcher
。
您可以創建相同的靜態方法,如IEventDispatcher
然後創建的IEventDispatcher
靜態實例來處理事件,但您的靜態類本身不能是EventDispatcher
,但只能看類似。
而不是從靜態類使用靜態方法。你可以像這樣使用。
import flash.events.EventDispatcher;
import flash.events.Event;
public class StaticClass extends EventDispatcher {
public static var STATICCLASS:StaticClass = new StaticClass();
public function StaticClass() {
// constructor code
}
public function dispatchEventFromStaticClass():void
{
dispatchEvent(new Event("Event_Dispatched"));
}
}
你可以聽別的地方像這樣
StaticClass.STATICCLASS.addEventListener("Event_Dispatched", onHandler);
StaticClass.STATICCLASS.dispatchEventFromStaticClass()
function onHandler(e:Event):void
{
trace("Hey !!")
}
天哪,你不知道多少,這幫助我!日Thnx! – theseal53 2014-09-23 18:02:20
歡迎您:) – 2014-11-23 04:25:28