如何使用Flash中的ActionScript 3检查鼠标是否在符号实例上

时间:2010-09-27 23:42:32

标签: flash actionscript-3 symbols flash-cs5

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

3 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:1)

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

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

if (hitTestPoint(event.stageX, event.stageY, true))
   // Do something

答案 2 :(得分:0)

为什么不使用MouseEvent?

symbol.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);

function onMouseOver(evt:MouseEvent):void
{
    //is called when mouse is over your symbol.
}