Tôi đang tìm cách thêm một EventListener sẽ tự động xóa sau lần đầu tiên nó kích hoạt, nhưng tôi không thể tìm ra cách làm theo cách tôi muốn .AS3 - Trình nghe sự kiện chỉ kích hoạt một lần
tôi thấy chức năng này (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);
}
}
Nhưng thay vì phải viết:
EventUtil.addOnceEventListener(dispatcher, eventType, listener);
Tôi muốn sử dụng nó theo cách thông thường:
dispatcher.addOnceEventListener(eventType, listener);
Có ai có ý tưởng về việc làm thế nào để làm điều này ne?
Bất kỳ trợ giúp nào cũng sẽ được đánh giá cao.
(Tôi biết rằng Robert Penner của Signals thể làm điều này, nhưng tôi không thể sử dụng chúng vì nó có nghĩa là rất nhiều mã viết lại rằng tôi không thể đủ khả năng cho dự án hiện tại của tôi)
Hãy thử sử dụng [Tín hiệu Library] (https://github.com/robertpenner/as3-signals/wiki). –