as3如何忽略MOUSE_DOWN外部掩码

时间:2013-01-27 22:08:47

标签: actionscript-3 actionscript masking image-masking

我正在as3中进行类似拼图的游戏,其中从photoshop导入的不规则形状的图层用于遮盖其原始背景的部分。

通过在掩码及其内容上设置cacheAsBitmap = true,结果是一个漂亮的不规则形状,其透明边界部分被省略。

然而,在MOUSE_DOWN仍然检测到不可见的边界区域。我更喜欢鼠标在任何地方都没有被检测到,但是在可见的蒙面部分上。目前,我无法在舞台上可能出现在重叠透明区域后面的任何其他剪辑上检测到鼠标。

我在这里看到了一个涉及位图像素检测的解决方案,我还没有找到一种方法来应用解决方案。我的蒙面区域的内容是形状或MovieClip。

我希望有人可以帮我找到解决方案

1 个答案:

答案 0 :(得分:1)

防止位图图形透明区域上的鼠标事件的最简单和最稳定的方法是创建单独的矢量形状作为鼠标的目标,并将mouseEnabled标志设置为false到位图或集合这个形状的hitArea属性。

您可以在Flash IDE中手动创建此类形状以进行测试甚至是生产。有时候通过检查像素透明度来编写在运行时创建轮廓形状的位图tracert脚本更合适。