我正在尋找一種方法來添加一個EventListener,它會在第一次啓動後自動刪除它,但我無法想象這樣做的方式,我想要的方式。AS3-只發生一次的事件監聽器
我發現這個功能(here):但
public class EventUtil
{
public static function addOnceEventListener(dispatcher:IEventDispatcher,eventType:String,listener:Function):void
{
var f:Function = function(e:Event):void
{
dispatcher.removeEventListener(eventType,f);
listener(e);
}
dispatcher.addEventListener(eventType,f);
}
}
不必編寫:
EventUtil.addOnceEventListener(dispatcher, eventType, listener);
我想用它通常的方式:
dispatcher.addOnceEventListener(eventType, listener);
有沒有人知道如何做到這一點NE?
任何幫助將非常感謝。
(我知道羅伯特·彭納的Signals可以做到這一點,但我不能使用它們,因爲這將意味着大量的代碼重寫,我買不起我的當前項目)
嘗試使用[信號庫(https://github.com/robertpenner/as3-signals/wiki)。 – 2011-10-10 15:04:22