我更改音乐的音量不能超过1次。音量控制位于“设置”场景中,因此当我移至该场景时,我可以更改游戏声音的音量,但是当我离开场景并返回时,我不能。我猜这是由于我的DontDestroyOnLoad使用不当引起的。 一旦更改了音量,DontDestroyOnLoad就会进入,因此一旦离开现场,音量就不会更改,但是当您回到“设置”将其更改回来时,DontDestroyOnLoad不会起作用。 我该如何解决这个问题,以便随时随地更改?
while(true)
答案 0 :(得分:0)
用于卷的两个实例都不会在加载时销毁,因此您无需将卷的最后值存储在字段中。
此代码解决了您的问题:
private void Start()
{
DontDestroyOnLoad(this.gameObject);
MusicBack.instance.musicSource.volume = 1f;
MusicBack.instance.efxSource.volume = MusicBack.instance.efxSourceEnemy.volume = 1f;
}
public void SetVolume(float vol) { MusicBack.instance.musicSource.volume = 1f; }
public void SetVolumeFx(float vol2)
{
MusicBack.instance.efxSource.volume = MusicBack.instance.efxSourceEnemy.volume = vol2;
}
SetVolume
将改变音乐音量,而SetVolumeFx
将改变音效的音量。
还要确保正确调用了SetVolume
和SetVolumeFx
。