2012-04-29 56 views
1

我有舞台上有多少个影片剪辑,每个都有它自己的事件监听器。一旦点击/触摸事件被调用,每个影片剪辑都会执行某些操作。例如,一个movieClip使大约6个其他影片剪辑可见。检查鼠标单击是否不在影片剪辑

我想要做的是,当用户在舞台上的其他位置触摸/单击,其中没有我想要知道的movieClip,因此我可以执行一些操作,例如使某些动画片段不可见。

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

非常感谢, 迈克

+0

你可以附加事件监听器到舞台对象也.. – Kamal 2012-04-29 11:00:55

+0

但不会这也听取点击movieClips?当他们在阶段。或者我有我错了? – user1005253 2012-04-29 11:11:38

+0

nope ..舞台只会听事件..这不是如何事件调度工作..从容器它只会来舞台和回去..不会达到你的movieclips ..因为他们是阶段的孩子,并瞄准阶段只会在舞台上结束,你可以通过adobe livedocs ..他们解释得很好 – Kamal 2012-04-29 11:15:29

回答

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

事件侦听器添加到舞台上。并且在内部动画片段的处理程序中使用event.stopPropagation函数来防止容器发生气泡事件。