2012-04-29 76 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函數來防止容器發生氣泡事件。