在我的舞台上,我有几个DisplayObjects。对于其中一些我已经应用了MouseOver函数。
这些功能主要是这样的:
this.addEventListener(MouseEvent.MOUSE_OVER, hoverHandler);
private function hoverHandler(evt:MouseEvent):void
{
this.alpha = 2 * this.alpha;
this.addEventListener(MouseEvent.MOUSE_OUT, awayHandler);
}
private function awayHandler(evt:MouseEvent):void
{
this.alpha = this.alpha / 2;
}
这个工作正常,直到我的一些移动的精灵突然也高于我已经应用了鼠标悬停功能的精灵之一。然后我的MouseOver函数无法再检测鼠标是否在精灵上。
这对我的代码的可用性来说相当令人不安。有谁知道如何避免这种情况?
谢谢!
答案 0 :(得分:2)
您可以将精灵的mouseEnabled
和mouseChildren
设置为false
:
aboveSprite.mouseEnabled = false;
aboveSprite.mouseChildren = false;
答案 1 :(得分:0)
使用类似的东西:
mc_1.hitTestObject(mc_2);
确定重叠。然后用
之类的东西发现哪个MovieClip在“另一个”之上 parent.getChildIndex(this)
然后使用mouseEnabled = false
对您不想回复的MovieClip进行去敏感化。
您的确切代码可能会有所不同,具体取决于设置。