Actionscript 3:当鼠标按下时,运行函数,除了监听器以外的其他地方?
问题描述:
我有一个影片剪辑上的CLICK事件监听器。由于舞台的布置方式,在影片剪辑背后制作透明的监听器非常困难。当你点击其他任何地方而不是听者时,是否有办法运行一个函数?Actionscript 3:当鼠标按下时,运行函数,除了监听器以外的其他地方?
fash.addEventListener(MouseEvent.CLICK, fashRun);
答
stage.addEventListener(MouseEvent.CLICK, onClick);
function onClick(e:MouseEvent):void
{
if (!fash.hitTestPoint(stage.mouseX, stage.mouseY, true))
{
//todo
}
}
订阅阶段** ** MouseEvent.CLICK所以你会得到所有的点击和检查,如果鼠标内部或者您想用的任何区域外** DisplayObject.hitTestPoint (...)**作为条件:https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html#hitTestPoint() – Organis
谢谢。我会试试这个 –
无论是前面(阻塞)的目标都可以通过像'blocker.mouseChildren = false;'和'blocker.mouseEnabled = false;'这样的命令让鼠标看不见......'尝试使用相同的命令阻滞剂。 –