通常,在调度事件(或自定义事件)时,我使用以下方法:
function fireEvent():void {
dispatchEvent(new Event(Event.COMPLETE));
}
最好每次都使用单个对象来调度事件吗?我可以这样做吗?
var myEvent:Event = new Event(Event.COMPLETE);
function fireEvent():void {
dispatchEvent(myEvent);
}
答案 0 :(得分:3)
如果可以的话,这将是更好的方法(例如创建事件池)。不幸的是,AS3在事件流中对事件对象进行了一些内部魔术处理,使对象只能使用一次(很抱歉,由于某种原因,我无法快速找到证据)。
您可以通过第二次调度事件来轻松地获得确认,不会触发您的侦听器(可能仅对于冒泡功能是正确的,而不是确切记住),因此您必须为每个{{ 1}}通话。
答案 1 :(得分:2)
我想,即使合并有效也不值得。在astionscript中创建事件对象并不昂贵,而添加事件侦听器则很昂贵。您最好将这种精力放在管理侦听器和处理程序上,这很容易成为性能的瓶颈。