2012-04-10 137 views
0

我在Flash中遇到了問題。我可能會錯誤地編碼,因爲我的大部分代碼都是在框架中。聲音一次播放多次

所以,我有這兩個變量

var outsideDay:Sound = new daysong(); 
var outsideNight:Sound = new nightsong(); 

而且我要到一個特定的幀上播放這些歌曲。然而,這些聲音零星地播放,就像50次一樣。我認爲這是因爲我有其他代碼通過Enter_Frame函數鏈接到框架。我怎樣才能讓聲音循環播放而不是一次播放多次?

回答

1

您是否在任何幀中的時間線上的任何位置放置了聲音?如果是的話刪除該框架。另外,如果你在沒有stop();調用的關鍵幀上聲明瞭你的代碼,那麼當它「進入」它時,可能會一遍又一遍地重複該幀。嘗試在代碼的開頭或結尾關鍵幀處添加stop();,無論哪裏對您的項目最有意義。

想這兩件事情後,我已經學會了另一種方法來愛可以派上用場是:

flash.media.SoundMixer.stopAll(); 

這將停止所有的聲音,這樣無論聲音,你開始做這個調用後不會玩有其他以前開始的聲音要與之抗衡。

This sound tutorial也可能對您有用。

讓我們知道它是如何發展的,或者這些東西是否有用。

+0

是的,我在關鍵幀上有停止代碼。我忘了提及我正在研究一個涉及點擊按鈕等的遊戲。所有的按鈕都有Soudmixer.stopAll();所以可以工作,但聲音仍然會一次播放多次。 – 2012-04-10 18:56:02

+0

放一絲(「點擊」);在你的點擊處理程序中,並檢查它是否一次點擊多次調用。還要驗證按鈕中的時間線沒有任何聲音的圖層。 – ToddBFisher 2012-04-10 19:03:20

+0

這些按鈕沒有被多次調用,並且在任何關鍵幀上都沒有聲音。 – 2012-04-10 21:57:25