Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Flash中将自定义事件重新修补到另一个类(而不是父类)?_Flash_Actionscript 3 - Fatal编程技术网

如何在Flash中将自定义事件重新修补到另一个类(而不是父类)?

如何在Flash中将自定义事件重新修补到另一个类(而不是父类)?,flash,actionscript-3,Flash,Actionscript 3,我不能冒泡事件,因为我想发送到另一个类,它甚至不是movieclip,而是一个简单的类 所以我在这里转换以前的源代码 为了 错误是 无法将flash.events转换为CustomEvent 然而,我已经铸造了CustomEvent以确保 事件冒泡不是发生在接收事件的对象中,而是发生在进行分派的对象中。或者更准确地说,事件在分派对象的所有祖先中冒泡。所以你不必为此担心 而且,您已经在onCustomEventType-函数中接收到CustomEvent,因此无需强制转换它 在事件处理程序中,可以

我不能冒泡事件,因为我想发送到另一个类,它甚至不是movieclip,而是一个简单的类

所以我在这里转换以前的源代码 为了

错误是

无法将flash.events转换为CustomEvent


然而,我已经铸造了CustomEvent以确保

事件冒泡不是发生在接收事件的对象中,而是发生在进行分派的对象中。或者更准确地说,事件在分派对象的所有祖先中冒泡。所以你不必为此担心


而且,您已经在
onCustomEventType
-函数中接收到
CustomEvent
,因此无需强制转换它

在事件处理程序中,可以再次分派事件。但是接下来发生的事情是Flash Player将收到的事件克隆到一个新的事件中。因此,在创建了自己的自定义事件后,应始终重写clone()函数。否则,您将得到运行时错误,如您提到的错误

在您的情况下,CustomEvent类应该具有此方法

    override public function clone():Event
    {
        return new CustomEvent(type, bubbles, cancelable);
    }

如果您的构造函数需要其他参数,请确保将它们也放在那里。

向我们展示代码,在那里发送事件和CustomEvent类的代码。您不应该执行此强制转换(如CustomEvent)。请参阅我的源代码更新,谢谢,但在我的情况下,冒泡是不可能的:目标不在dispatcher对象的层次结构中。我不明白您试图实现什么。你能更具体地说明问题是什么吗?我只想知道如何将一个对象接收到的自定义事件重新发送给另一个对象,而不管另一个对象是什么或它在哪里。好的,谢谢,我所做的是创建一个新事件,但现在将尝试克隆:)
    override public function clone():Event
    {
        return new CustomEvent(type, bubbles, cancelable);
    }