我有这个问题:
如何只在游戏中关闭声音?我问是因为我的设置中有两个按钮:打开/关闭音乐和打开/关闭声音。打开和关闭音乐非常容易,因为它使用特定的声道。但是你如何只关闭声音的音量(例如,音乐仍在播放,但没有游戏的声音)?
当我通过 SoundMixer.soundtransform 使声音静音时,您什么都听不到,所以这不是我想要的。在我的游戏中,所有声音都被放入一个数组中。我的第一个想法是检查阵列中列出的所有声音并关闭音量,但这不起作用。请 - 任何人都可以帮忙吗?非常感谢你。
//not working
private var sounds:Array;
private var soundChannels:Array = [];
private var muteSoundTransform:SoundTransform = new SoundTransform();
public function muteSoundOnly():void {
muteSoundTransform.volume = 0;
var soundLength:int = soundChannels.length - 1;
for (var soundCtr:int = soundLength; soundCtr >= 0; soundCtr--)
{
soundChannels[soundCtr].soundTransform = muteSoundTransform;
}
}
最佳答案
我认为这样做更容易:
var soundsON = true;
然后在播放任何音效之前,请确保声音已打开,如下所示:
if (soundsON) {
mySound.play();
}
如果您设置静音按钮,请执行
soundsON = false;
,您的音效将不会播放。
关于actionscript-3 - 只关闭声音 - 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7867672/