我无法冒泡这个事件,因为我想发送到另一个甚至不是movieclip而是简单类的类。
所以我在这里转换以前的源代码 <{p}}
private function onCustomEventType(e:CustomEvent):void
{
trace(e.value);
//redispatch
this.dispatchEvent(e as CustomEvent);
}// end function
错误是
将flash.events转换为CustomEvent不可能
虽然我已经投放到CustomEvent以确保!
答案 0 :(得分:8)
在您的事件处理程序中,您可以再次调度该事件。但是接下来发生的事情是Flash Player克隆收到的新事件。当您创建自己的自定义事件时,应始终覆盖clone()函数。否则,您将收到运行时错误,例如您提到的错误。
在您的情况下,您的CustomEvent类应具有此方法
override public function clone():Event
{
return new CustomEvent(type, bubbles, cancelable);
}
如果您的构造函数需要其他参数,请确保将它们放在那里。
答案 1 :(得分:1)
事件的冒泡不会发生在接收事件的对象中,而是发生在发送事件的对象中。或者确切地说,事件正在通过调度对象的所有祖先冒泡。所以你不必担心。
此外,您已经在CustomEvent
- 函数中收到了onCustomEventType
,因此无需进行投射。