我正在尝试在Unity中构建应用程序,而我想做的一件事就是能够从场景设置中更改字体大小和颜色。我要解决的方法是使用全局变量,然后尝试从“设置场景”访问和更改它,然后让所有其他场景从set变量获取其字体大小。
到目前为止,我已经建立了一个全局变量类(如下所示),并试图通过单击设置类中的按钮来访问它。我不确定这是否是解决此问题的最佳方法,也不确定如何使所有其他场景使用此globals类中的信息并在加载新场景时对其进行更新。
public static class Globals
{
public static int FontSize {
get{
return FontSize;
}
set{
FontSize = value;
}
}
}
答案 0 :(得分:0)
即使在关闭应用程序后仍要保留字体大小
您应该使用PlayerPrefs。
https://docs.unity3d.com/ScriptReference/PlayerPrefs.html
否则DontDestroyOnLoad(this);使用此代码。
答案 1 :(得分:0)
要在场景之间保留数据,您可以:
此视频深入介绍了如何使用每个视频,并说明了利弊。 https://www.youtube.com/watch?v=WchH-JCwVI8
但是可能有点过时了(2016年)。
现在:“建议避免使用DontDestroyOnLoad持久保存要在场景负载中生存的管理器GameObject。相反,创建一个包含所有管理器的管理器场景,并使用SceneManager.LoadScene(,LoadSceneMode.Additive)和SceneManager .UnloadScene来管理游戏进度。“