2014-01-08 46 views
1

好的,我已經看到很多關於如何編碼暫停/恢復按鈕的問題和解答,但沒有一個符合我的具體需求。首先讓我解釋我擁有的東西:需要在Flash CS3中創建一個暫停/恢復切換按鈕AS3

我爲我的工作制作了教程視頻。它由屏幕截圖和聲音組成。我有一個跳轉到下一部分的前進按鈕(通常是下一個音頻文件的開始部分)和一個返回到前一部分的後退按鈕。不過,我需要一個暫停按鈕。

現在讓我來解釋:我已經把它:

我已經做了電影在1fps。我有一個音頻圖層,一個屏幕截圖圖層,一個按鈕圖層以及各種其他圖層,用於突出顯示屏幕截圖中的內容。在音頻層上,我將音頻文件放在舞臺上,然後拖出多個幀,直到整個音頻文件可以不間斷播放。所以,如果音頻長度爲10秒,它將會持續10幀。然後,我可以將自己的屏幕截圖放在自己的圖層上,並執行相同的操作,以便圖像顯示與音頻相同的時間長度。當框架結束時,它會自動跳到下一幀並繼續直到結束。由於音頻在舞臺上,觀衆不需要做任何事情就可以播放音頻。

在查看了很多教程後,似乎大多數人使用代碼來播放音頻,而不是放在舞臺上。我不是這個熟練的。

所以我的問題是,在我目前的設置下,我該如何製作一個切換按鈕,基本上說「如果音頻正在播放,單擊時停止整個播放 - 如果音頻未播放,則從最後位置恢復播放點擊「?

非常感謝你,如果你可以幫忙!此外,這是我第一次問這樣的技術問題,請告訴我,如果您需要任何其他具體細節。

回答

1
  1. 首先確保時間軸上的所有音頻都設置爲「流」。若要 請點擊聲音所在的框架,找到聲音 面板,將其從「事件」更改爲「流」。這將確保當 時間線停止時音頻停止並在播放 時間線時恢復。
  2. 至於按鈕,只需調用一個調用時間軸上的stop()和一個調用play()的按鈕即可。這將停止時間線,並在比賽中恢復。
var myTimeline:MovieClip;//link to the movieclip where your timeline animation lies 
var btnPause:SimpleButton;//link to your pause button 
btnPause.addEventListener(MouseEvent.CLICK,function(event:MouseEvent):void{ 
    myTimeline.stop(); 
}); 
var btnResume:SimpleButton;//link to your resume button 
btnResume.addEventListener(MouseEvent.CLICK,function(event:MouseEvent):void{ 
    myTimeline.play(); 
}); 
+0

太棒了,我認爲我們正朝着正確的方向前進。儘管有幾個問題:就您在示例代碼中引用的動畫片段而言,我沒有影片剪輯。我只是有一個圖像層,沒有真正的「電影」。因此音頻正在播放,同時圖像顯示,如果音頻請求討論新內容,則圖像會改變。所以myTimeline引用讓我感到困惑,我應該使用什麼呢? – cholverson

+0

如果AS3與動畫處於同一時間軸上(在同一個影片剪輯中),則設置var myTimeline:MovieClip = this;因爲這是你的時間表。 – mihai

+0

不是。我有一個定義了一切的「共享操作」層,然後只有按鈕層上的AS3。 因此,例如我有一個下一步按鈕與此代碼: Next1.addEventListener(MouseEvent.CLICK,Nclick1); 使用此代碼的Back按鈕: Back1.addEventListener(MouseEvent。CLICK,Bclick1); 然後在共享操作層我有: //停止播放第一幀 stop(); function Nclick1(event:MouseEvent):void { \t SoundMixer.stopAll(); \t gotoAndPlay(25); } function Bclick1(event:MouseEvent):void { \t SoundMixer.stopAll(); \t gotoAndPlay(2); } – cholverson