2013-09-26 52 views
0

我一直在閱讀,你無法將一個動畫片段嵌套在按鈕中,但我有一個帶有脈衝效果的按鈕。AS3:發佈按鈕內的動畫片段

我遇到的問題是它不適用於我創建的另一個按鈕。我只是想創造一種閃爍的效果,但它沒有讀取它。

我見過關於如何將動畫片段製作爲按鈕的教程,但它不起作用。

任何幫助,將不勝感激。

謝謝!

+0

您的問題含糊不清,因爲您不會發布錯誤或確切無法正常工作。你得到一個編譯錯誤?你得到一個運行時錯誤?按鈕事件不會觸發?這很可能是您的MovieClip吞噬您希望Button處理的鼠標事件的一個問題。 – prototypical

回答

0

你知道有趣的是,這件事發生在我身上。我創建了一個帶有影片剪輯的按鈕,它工作得很好,然後下一次我試圖做到這一點,我無法讓它工作。我認爲,作爲一般的經驗法則,您不應該期望在按鈕內嵌入影片剪輯。我不記得第一次做了什麼,但我認爲這與擴展影片剪輯類而不是擴展簡單按鈕有關。

問題當然是如果你創建一個類型按鈕的符號,它不會讓你擴展影片剪輯。無論如何,有些東西可以輕鬆解決您的問題。

我現在所做的是您想要的任何影片剪輯,單獨創建它,使用代碼將其放置在按鈕頂部,然後應用以下代碼。

mouseEnabled = false; 
yourMovieclip.mouseEnabled = false; 
yourMovieclip.mouseChildren = false; 

這樣你的按鈕就可以正常工作(即,你的動畫片段不會阻止你的按鈕的鼠標檢測)。希望有所幫助!

0

爲什麼不只是創建一個MovieClip併爲它提供一些事件監聽器,用於翻轉和滾動,告訴它在其時間軸上的某個點上動畫?您不需要使用按鈕的按鈕符號。我甚至想不起我最後一次。

0

該SimpleButton類型可以得到finicky。 SimpleButtons非常簡單,並不像MovieClip那樣複雜,並且當您將MC嵌入到Button中時,結果並非總是如預期的那樣,並且看似隨機。這將會是更痛苦的創建一個影片剪輯,並給它的第一幀上的事件監聽器,例如:

stop(); 
this.addEventListener(MouseEvent.ROLL_OVER, hoverState); 
this.addEventListener(MouseEvent.ROLL_OUT, normalState); 

function hoverState(event:MouseEvent):void 
{ 
    gotoAndStop(2); 
} 
function normalState(event:MouseEvent):void 
{ 
    gotoAndStop(1); 
} 

然後,只需有你想要的幀1和2的任何影片剪輯是你正常懸停狀態,分別。這樣,您只需將MovieClip嵌套在MovieClip中,而不是嵌套在SimpleButton中。

相關問題