如何使影片片段响应鼠标事件与不可见的按钮在顶部



我有一个横幅,上面有一个大的不可见的按钮,覆盖着舞台,在它下面我有电影剪辑,必须响应鼠标事件。但是我无法通过隐形按钮。我只得到按钮事件,不能与下面的影片剪辑进行交互。下面是简单的代码:

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");
}

我从来没有得到过bottomMc MouseEvent…任何想法吗?谢谢!

你唯一能做的就是禁用invisibtn,并把click事件放在影片剪辑上,而不是按钮。

所以,它应该是这样的。

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。

仅在没有用户交互可用时显示invisibleBtn

2。或者使用这个函数:

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

将这行放在EnterFrame句柄中,然后你将获得所有对象作为数组,在那里你可以检查对象的名称,并决定现在你是onBottomOveronBottomOut,因为它将一直在活动的invislebtn上

建议使用单个按钮…当点击保持跟踪,如果影片剪辑是可见的…如果是,则执行所需的任何操作,就好像影片剪辑也被点击了

检查底部mc是否在前面

或者试试这个:

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

最新更新