检查鼠标单击是否不在MovieClip中

时间:2012-04-29 10:45:23

标签: actionscript-3 event-handling flash-cs5

我在舞台上有很多movieClip,每个都有自己的Event Listener。一旦点击/触摸事件被调用,每个影片剪辑都会执行某些操作。例如,一个movieClip可以显示大约6个其他影片剪辑。

我想要做的是,当用户触摸/点击舞台上的其他地方时,我想知道没有movieClip,所以我可以执行一些操作,例如让一些movieClip不可见。

P.S我说Touch / Click的原因是我正在为Android开发这个应用程序,但是为了让测试变得更容易我正在用MouseEvent而不是TouchEvent测试PC中的所有内容。一旦我获得了所有功能,我将切换到TouchEvent并在移动设备上进行测试。

非常感谢,  麦克

2 个答案:

答案 0 :(得分:2)

向舞台添加事件侦听器。在内部动画片段的处理程序中,使用event.stopPropagation函数来阻止对容器的气泡事件。

答案 1 :(得分:0)

我只是做一个检查,它简单快捷,不需要添加代码来改变传播。

import flash.events.MouseEvent;

stage.addEventListener(MouseEvent.CLICK, onClick, false, 0, true);

function onClick(e:MouseEvent):void 
{
    if(e.target == stage)
    {
        trace("click click");   
    }
}