4

如何使用 ActionScript 3 / Flash CS5 检查鼠标是否位于符号实例上?

4

3 回答 3

6

如果要获取作为显示对象容器的子对象的所有对象的列表,请查看getObjectsUnderPoint方法。

否则,您可以使用hitTestPoint并通过 mouseX 和 mouseY 坐标传递一个点。

于 2010-09-27T23:49:46.360 回答
1

Juan Pablo 是正确的,但我发现如果没有正确应用 hitTestPoint 可能会很挑剔。具体来说,第三个参数(shapeFlag Boolean)应该为 TRUE(默认为 FALSE),并且当 mouseX/Y 不可用时,在鼠标事件上使用 event.stageX/Y 通常可以工作。

无法准确解释原因,但根据我的经验,以下是非常简单的证明:

if (hitTestPoint(event.stageX, event.stageY, true))
   // Do something
于 2010-09-29T21:36:47.287 回答
0

为什么不使用 MouseEvent?

symbol.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);

function onMouseOver(evt:MouseEvent):void
{
    //is called when mouse is over your symbol.
}
于 2010-09-28T06:21:26.923 回答