2009-04-11 44 views
1

我有一个特殊的画布类覆盖了我的整个舞台,以及下面一层的一堆Sprite热点。如果我将热点放置在与画布相同的图层上,则画布不会注册MOUSE_DOWN事件,因为我的鼠标位于其中一个热点内,因为热点是针对目标的。但是,如果我将热点保留在较低层上,画布将处理所有MouseEvent。有没有什么办法让MouseEvent的目标不止一件事,让画布和热点都响应MouseEvents? (画布是一个位图绘图类,当光标触及它们或点击它们时应该触发热点。)Flash/Actionscript问题:MouseEvent可以同时指定多个事物吗?

回答

1

ActionScript既有事件冒泡,也有事件捕获。这意味着您可以监听以元素或子元素开始的事件。你只需要创建正确的事件监听器。捕捉开始在父元素上捕捉事件,因为它沿着子元素链向下移动,直到它到达触发事件的元素。事件冒泡开始监听孩子的事件并向上移动。

addEventListener的第三个参数useCapture确定您是否想冒泡或捕获。

这听起来像你想要事件冒泡,所以你想设置useCapture为false。事件侦听器将在子级和父级上触发。

Event Capturing and Bubbling

+0

谢谢!我摆弄这一点,但似乎它仍然只允许每个事件一个目标。有什么办法让MouseEvent目标成为热点,运行该功能,然后继续下一层?如果我开始绘制其中一个热点,绘图画布不起作用。 – Archagon 2009-04-11 18:24:52

相关问题