防止某些孩子(ren)影响MouseEvent hitbox

时间:2013-09-13 12:22:18

标签: actionscript-3 mouseevent mouseover

我有一个我用作按钮的动画片段。在这个movieclip中是一个大阴影,显示按钮被鼠标悬停时。我的问题是这个影子正在影响鼠标移动并导致mouseOver和mouseOut事件比我想要的更大的“捕获”区域。

我已经尝试在该孩子上禁用鼠标事件以及我能想到的mouseEnabled和mouseChildren的多个组合。

是否可以阻止某些元素影响其父级的鼠标悬停属性,或者只是为动画片段定义自定义的命中框?

1 个答案:

答案 0 :(得分:3)

您可以使用hitArea属性,但实际上也可以使用mouseEnabledmouseChildren进行控制,因此您走在正确的轨道上:

假设您有一个名为“buttonMC”的影片剪辑,其中包含两个分别称为“clickableMC”和“shadowMC”的影片剪辑实例。

通过在shadowMC上将mouseChildren和mouseEnabled设置为false,您不能直接在该实例上侦听鼠标事件。但是,单击shadowMC仍会触发clickMC上的单击。要防止在buttonMC上将mouseEnabled设置为false。请注意,对于buttonMC,mouseChildren仍应为true。

将buttonEnabled设置为false并且仍然可以点击它可能听起来很奇怪,但是将mouseEnabled视为一个标志,确定显示对象的“图形”内容是否应该是可点击的。当shadowMC的mouseChildren和mouseEnabled设置为false时,就事件而言,影片剪辑的行为就像是图形(Shapes)一样。