0

我有一个带有响应 CLICK 事件的背景符号的闪光灯。在该符号之上,我有一个包含透明像素位图的精灵。它们都被添加到阶段,因此它们没有直接关系。

我希望点击精灵上的透明像素直接进入背景。

我已阅读有关 mouseEnabled / mouseChildren 但无法使这些工作的信息。当我使用它们时,该符号会忽略鼠标事件,但不会像透明一样传递它。

这可能与闪光灯有关吗?还是我必须重新路由鼠标事件?

谢谢

4

2 回答 2

1

您可以在您的位图上添加一个侦听器(无需将您的位图包装在 Sprite 中)以侦听 MouseEvent.CLICK 事件。

然后,在您的点击处理函数中,只需使用 getPixel32 来获取点击像素的 alpha :

var alpha:String = ( yourBitmap.BitmapData.getPixel32( e.localX, e.localY ) >> 24 & 0xFF).toString(16);
if( alpha == "0" )
    // Trigger your symbol click handler here
于 2010-02-03T13:12:58.360 回答
0

我意识到问题出在哪里。

我的场景是这样构建的:

舞台 -> 容器 #1 -> 容器 #2 -> PlayerSprites -> 背景

将玩家精灵标记为 mouseEnabled = false / mouseChildren = false 实际上会禁用鼠标。

但是到那时,鼠标事件在容器#2中,因此它不会以“透明”的方式到达背景符号。

于 2010-02-03T14:20:46.713 回答