C# 如何在unity c中永久禁用当前场景#
打开/关闭静音音量,这是我的功能:C# 如何在unity c中永久禁用当前场景#,c#,audio,unity3d,C#,Audio,Unity3d,打开/关闭静音音量,这是我的功能: public void Mm(bool vv) { if (vv) { AudioListener.volume = 0; } else { AudioListener.volume = 1; } } 这一切都很好,但问题是:当我静音并去另一个场景时,当再次回到这个场景时音
public void Mm(bool vv)
{
if (vv)
{
AudioListener.volume = 0;
}
else
{
AudioListener.volume = 1;
}
}
这一切都很好,但问题是:当我静音并去另一个场景时,当再次回到这个场景时音量并没有静音 创建一个如下所示的
SoundManager
脚本,并将其放置在当前场景中:
public class SoundManager : MonoBehaviour
{
void OnEnable()
{
AudioListener.volume = PlayerPrefs.GetFloat("volume",0);
}
void OnDisable()
{
AudioListener.volume = 1;
}
public void Mute(bool vv)
{
if (vv)
{
AudioListener.volume = 0;
}
else
{
AudioListener.volume = 1;
}
PlayerPrefs.SetFloat("volume",AudioListener.volume);
PlayerPrefs.Save()
}
}
在您的切换的值更改事件上注册
Mute()
方法。所以这就像我的方式一样。我仍然对你的方式有意见。所以我静音,没关系,但当我去另一个场景。那一幕使我哑口无言。我只想让这气味静音,没什么用!就这样。仍然存在这个问题:(这实际上是一个很好的解决方案。请记住使用PlayerPrefs.Save()
保存音量浮动。@erfan如何在场景之间切换?