我有一个带有隐形按钮的横幅覆盖在舞台下面,我有动画片段必须响应鼠标事件。但我无法通过隐形按钮。我只获得按钮事件,并且无法与其下方的动画片段进行交互。这是简单的代码:
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 ......有什么想法吗? 谢谢!
答案 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);