我一直在这里尝试在我的SoundManager中设置一个booleanSound布尔值,然后切换到一个新场景并将以前存储的值保存在MutesSound中,但是我没有成功。
我尝试了DontDestroyOnLoad(this); 希望它能将它带入新的场景,但由于某种原因,事实并非如此。
你们当中有人知道我的问题可能是什么吗?我使用的功能正确吗?
谢谢,
有人会说使用static
。那会行得通,但要避免这样做,因为您会遇到其他问题。您需要的是PlayerPrefs
。在退出时保存值。游戏开始时读取该值。您可以在SoundManager
脚本中执行此操作。
bool muteSound = false;
//Load the value when game starts (default is false)
void Start()
{
muteSound = intToBool(PlayerPrefs.GetInt("muteSound", 0));
}
int boolToInt(bool val)
{
if (val)
return 1;
else
return 0;
}
bool intToBool(int val)
{
if (val != 0)
return true;
else
return false;
}
//Save on Exit
void OnDisable()
{
PlayerPrefs.SetInt("muteSound", boolToInt(muteSound));
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句