2012-06-28 33 views
0

我正在繪製一個地圖上的鼠標點數「淡入淡出」的動畫片段文本。我遇到的問題是,包含在父級影片剪輯中的文本本身也成爲鼠標移動區域。我只想要點本身來激活鼠標事件,而不是它的內容。我在網上搜索過,發現「解決方案」,如mouseChildren = false;和mouseEnabled = false;不工作。我不知道我是否只是編碼錯誤或什麼。任何幫助,將不勝感激。這裏是我的代碼:Movieclip內容激活鼠標事件

clayton.buttonMode = true; 
clayton.addEventListener(MouseEvent.ROLL_OVER, over); 
clayton.addEventListener(MouseEvent.ROLL_OUT, out); 

function over(event:MouseEvent):void{ 
    clayton.gotoAndPlay("over"); 

} 

function out(event:MouseEvent):void{ 
    clayton.gotoAndPlay("out"); 
} 

鼠標放在父影片剪輯後,所包含的文字淡化,在正確的。當鼠標移出父級影片剪輯時,包含的文本會正確淡出。然而,在對父級動畫片段進行挖掘之後,包含的文本就會像父級動畫片段一樣起作用並激活鼠標懸停動畫。這是一個顯示實際問題的視頻。注意,當我將鼠標懸停在地圖的中心區域上時,沒有任何反應。但是當我把地圖上的點挖出來之後,中央區域就激活了動畫。

這裏是我的問題的視頻例如: http://www.youtube.com/watch?v=OC2vVjMQTH4

回答

0

視頻幫助!

看起來發生了什麼是您的信息框,即使在淡出後您的初始鼠標懸停裝載也會出現,因此即使您看不到它(淡出),它仍然存在並觸發你的翻身。

你可以通過很多不同的方法解決這個問題。最快的(儘管最快)是在你的'out'動畫結束時添加一個空幀,然後停止/循環。

更好的做法可能是將roll_over偵聽器附加到點對象本身上。 (您可以將roll_out留在父'clayton'上)。

+0

如果您需要額外的幫助,我需要查看您的時間表 – BadFeelingAboutThis

+0

這是有效的!我很好奇,但不會將roll_over偵聽器附加到淡入「中斷」動畫的文本框中?如果主舞臺上的對象不再具有roll_over偵聽器,它將如何知道啓動動畫? – niemeyerja

+0

您必須將信息框與圓圈標記分開(使它們成爲兩個獨立的對象),並將標記放置在未設置動畫的單獨圖層上。 – BadFeelingAboutThis