在actionscript 3中调度/处理消息的正确方法?
问题描述:
我有一个类的构造函数,做某种逻辑:在actionscript 3中调度/处理消息的正确方法?
public function Constructor() {
if some condition {
// load some resource from the internet, dispatch message when done
}
else {
// finish up, dispatch message now
dispatchEvent(new TestEvent(...));
}
}
和一类使用此:
obj = new Constructor();
obj.addEventListener(...); // Listens to the above event
我遇到了麻烦,因为如果“某些条件”不发生时,它立即分派事件,但第二个类不会听到该事件,因为它在addEventListener方法之前执行。
答
简单。不要在构造函数中触发事件。构造对象,挂起你的监听器,然后调用一个包含事件触发代码的初始化方法。
编辑:或者,如果您绝对必须,作为参数传递给构造函数的回调方法,并在构造函数中添加侦听器。
我更喜欢前一种方法,因为它较少混淆。
太简单/愚蠢。谢谢! – Timmy 2009-10-14 21:53:11