2013-05-27 46 views
0

我有一個包含多個圖層和幀的動畫片段。其中一些包含按鈕。當我點擊按鈕1時,我希望它進入下一幀。當我點擊按鈕2我希望它去幀23這是我使用按鈕1中的代碼:將動作應用於一個幀中的按鈕使其適用於Flash CS6中的整個動畫片段

this.addEventListener(MouseEvent.CLICK, convnext); 
function convnext(evt:MouseEvent):void 
{ 
    MovieClip(parent).gesprekkencivcen.nextFrame(); 
} 

,這是按鈕2的代碼:

this.addEventListener(MouseEvent.CLICK, convend1); 
function convend1(evt:MouseEvent):void 
{ 
    MovieClip(parent).gesprekkencivcen.gotoAndStop(23); 
} 

什麼現在發生的是,當我單擊其中任何一個按鈕或實際上在動畫片段內的任何位置(甚至是我沒有應用動作的層)時,它會同時執行這兩個功能,因此我最終會轉到第24幀。有人可以提供這個問題的答案?

回答

1

顯然this在這兩種情況下指的是同一個對象,而不是在特定的按鈕。記錄這些按鈕的名稱,因爲您已將它們的實例命名爲時間軸,如button1button2,並使用這些名稱編寫代碼。

button1.addEventListener(MouseEvent.CLICK, convnext); 
function convnext(evt:MouseEvent):void 
{ 
    parent.parent.gesprekkencivcen.nextFrame(); 
} 
button2.addEventListener(MouseEvent.CLICK, convend1); 
function convend1(evt:MouseEvent):void 
{ 
    parent.parent.gesprekkencivcen.gotoAndStop(23); 
} 

有了這一點,但是,你需要在這兩個監聽器來更新鏈接gesprekkencivcen,因爲這些按鈕將有this父,他們的目標顯然不是this一個孩子。我試圖明確地撥打電話parent.parent.gesprekkencivcen,這可能無法正常工作。

+0

當我改變「parent.parent.gesprekkencivcen」到「影片剪輯(父).gesprekkencivcen」它工作得很好。謝謝! – Raapwerk

相關問題