2012-01-11 39 views
0

我很難將聲音剪輯附加到對象上,以便在單擊時發出聲音。我沒有一個單獨的動作文件給我的遊戲,動作是在時間軸內。我的配樂在我的音樂庫,我的電影剪輯有適當的實例名稱,這裏是代碼;需要幫助將聲音剪輯附加到電影剪輯項目

import flash.media.Sound; 
    import flash.media.SoundTransform; 
    import flash.media.SoundChannel 
    import flash.net.URLRequest; 


GBtn.addEventListener(MouseEvent.CLICK,muteBtnPressed); 


var s:Sound = new Sound; 
s.load(new URLRequest("song.wav")); 
var sc:SoundChannel = s.play(0,1000); 
sc.soundTransform = new SoundTransform(0); 



var soundMuted:Boolean = false; 




function muteBtnPressed(evt:MouseEvent){ 
    if(soundMuted==true){ 
     soundMuted = false; 
     sc.soundTransform = new SoundTransform(1); 
     GBtn.gotoAndStop("on"); 
    } else { 
     (soundMuted == false){ 
      soundMuted = true; 

     sc.soundTransform = new SoundTransform(0); 
     GBtn.gotoAndStop("off"); 
    } 
} 

此刻,這是一個靜音按鈕的代碼,但是我會在點擊時反轉這個事件。任何建議,將不勝感激,因爲我的工作是明天,我有點落後!謝謝!!

+0

如果你想從庫檢查此播放聲音: http://stackoverflow.com/questions/8630051/stopping-sounds-without-stopping-bgm-as3/8631996#8631996 – kostik 2012-01-11 22:45:42

回答

0

如果聲音在庫中,則將它設置爲導出Actionscript的類名稱爲「Song」。然後更換這兩行

var s:Sound = new Sound; 
s.load(new URLRequest("song.wav")); 

有了這個

var s:Sound = new Song(); 

這將實例庫中的聲音。

+0

謝謝,工作出色:) – user1133181 2012-01-12 05:27:42