如何使用顶部的隐形按钮使影片剪辑响应鼠标事件

时间:2011-12-02 10:42:56

标签: flash actionscript-3

我有一个带有隐形按钮的横幅覆盖在舞台下面,我有动画片段必须响应鼠标事件。但我无法通过隐形按钮。我只获得按钮事件,并且无法与其下方的动画片段进行交互。这是简单的代码:

invisibleBtn.addEventListener(MouseEvent.CLICK, onTopClick);
bottomMc.addEventListener(MouseEvent.MOUSE_OVER, onBottomOver);

function onTopClick(e:MouseEvent):void{
    trace("top - click");
}

function onBottomOver(e:MouseEvent):void{
    trace("bottom - over");
}

我从未得到过midMc MouseEvent ......有什么想法吗? 谢谢!

4 个答案:

答案 0 :(得分:0)

你唯一能做到的就是让invisibleBtn禁用并将click事件放在movieclip上而不是按钮上。

所以,它应该是这样的。

invisibleBtn.mouseEnable=false;
invisibleBtn.mouseChildren =false;

bottomMc.addEventListener(MouseEvent.CLICK, onTopClick);
bottomMc.addEventListener(MouseEvent.MOUSE_OVER, onBottomOver);

function onTopClick(e:MouseEvent):void{
    trace("top - click");
}

function onBottomOver(e:MouseEvent):void{
    trace("bottom - over");
}

所以,它将采用movieclip事件

答案 1 :(得分:0)

您有一个主按钮,单击该按钮将打开新页面,同时您希望用户与其他对象进行交互?重新思考方法。

你有2个解决方案:

1.仅在没有更多用户互动可用时显示invisibleBtn

2.或者使用此功能:

getObjectsUnderPoint ( new Point ( stage.mouseX, stage.mouseY ) );

将此行放在EnterFrame句柄中,然后您将所有对象作为数组,在那里您可以检查对象的名称,并决定现在是onBottomOver还是onBottomOut,因为所有它将成为活跃的invisibleBtn的时间。

答案 2 :(得分:0)

建议为该空间设置一个按钮...并在点击时跟踪动画片段是否可见...如果是,则执行您需要的任何操作,就像点击动画片段一样

答案 3 :(得分:0)

检查bottomMc是否在前面

或试试这个:

this.setChildIndex(bottomMc,this.numChildren-1);