2012-01-11 35 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