2010-03-18 33 views
1

這是我至今的代碼,它是在電影的第一幀。爲什麼我的聲音在Flash中不起作用?

nature = new Sound(this); 
nature.attachSound("sound_naturally"); 
nature.setVolume(50); 
nature.start(0,0); 
nature.onSoundComplete = function(){ 
    nature.start(0,0); 
} 
trace(nature); 

運行時跟蹤輸出'[object Object]'。

我將聲音導出到帶有鏈接標識符'sound_naturally'的ActionScript,未導出到第一幀。我不明白爲什麼它不起作用。我確實喜歡3小時前的完全相同的事情,它運行良好,但我失去了文件,所以我不得不重做它,現在它根本不起作用。

使用Flash 10使用ActionScript 2.0

+0

我不確定這個 - 但是嘗試刪除''sound_naturally'周圍的引號'' – Amarghosh 2010-03-18 02:50:00

回答

2

兩個start(0,0)start()是有效的。你的代碼不是這裏的問題。

發生的情況是,導出SWF文件時,聲音文件沒有被附加,因爲它只坐在你的庫中,並且沒有被用到任何地方。很明顯,這就是爲什麼Flash有「第一幀導出」的原因,但這對於預加載來說很麻煩,對吧?所以,另一種選擇是:

  • 將聲音放在時間線的未使用幀(即:SWF的最後一幀)上。這將強制Flash在發佈SWF時包含聲音。
  • 預載您的主電影,並確保只有在所有內容完全加載時才調用上述腳本。

這是一種解決方法,但理想情況下,我會建議使用loadSound()方法在外部加載聲音。

祝你好運!

0

在開始第二個參數()告訴它多少次,播放聲音,和你有一個0那裏。

試試看nature.start()

+0

這就是我如何離開它,因爲我試圖找出是什麼導致它不玩。只使用'start()'或甚至使用'start(0,99)'都不會做任何事情。 – animuson 2010-03-18 01:02:56