我正在尝试在 Unity 中构建一个应用程序,我想做的一件事是能够从设置场景更改字体大小和颜色。我接近这个的方法是使用全局变量并尝试从设置场景访问和更改它,然后让所有其他场景从设置变量中获取它们的字体大小。到目前为止,我已经构建了一个全局变量类(如下所示),并试图通过单击设置类中的按钮来访问它。我不确定这是否是解决这个问题的最佳方法,我也不确定如何让所有其他场景从这个全局类中获取信息并在加载新场景时更新它。public static class Globals{ public static int FontSize { get{ return FontSize; } set{ FontSize = value; } }}
2 回答
潇潇雨雨
TA贡献1833条经验 获得超4个赞
要在场景之间保留数据,您可以:
使用 PlayerPrefs
使用 DontDestroyOnLoad
使用全局变量
该视频深入解释了如何使用每一个并解释了优缺点。 https://www.youtube.com/watch?v=WchH-JCwVI8
但是它可能有点过时(2016 年)。
现在:“建议避免使用 DontDestroyOnLoad 来持久化您希望在场景加载期间存活的管理器游戏对象。相反,创建一个包含所有管理器的管理器场景并使用 SceneManager.LoadScene(, LoadSceneMode.Additive) 和 SceneManager.UnloadScene 来管理你的游戏进度。”
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
如果即使关闭应用程序也希望保留字体大小
您应该使用 PlayerPrefs。
https://docs.unity3d.com/ScriptReference/PlayerPrefs.html
否则 DontDestroyOnLoad(this); 使用此代码。
- 2 回答
- 0 关注
- 465 浏览
添加回答
举报
0/150
提交
取消