Unity 中的全局变量(在所有场景中更改字体大小、颜色)

我正在尝试在 Unity 中构建一个应用程序,我想做的一件事是能够从设置场景更改字体大小和颜色。我接近这个的方法是使用全局变量并尝试从设置场景访问和更改它,然后让所有其他场景从设置变量中获取它们的字体大小。


到目前为止,我已经构建了一个全局变量类(如下所示),并试图通过单击设置类中的按钮来访问它。我不确定这是否是解决这个问题的最佳方法,我也不确定如何让所有其他场景从这个全局类中获取信息并在加载新场景时更新它。


public static class Globals

{

    public static int FontSize {

        get{

            return FontSize;

        }

        set{

            FontSize = value;

        }

    }

}


动漫人物
浏览 466回答 2
2回答

潇潇雨雨

要在场景之间保留数据,您可以:使用 PlayerPrefs使用 DontDestroyOnLoad使用全局变量该视频深入解释了如何使用每一个并解释了优缺点。 https://www.youtube.com/watch?v=WchH-JCwVI8但是它可能有点过时(2016 年)。现在:“建议避免使用 DontDestroyOnLoad 来持久化您希望在场景加载期间存活的管理器游戏对象。相反,创建一个包含所有管理器的管理器场景并使用 SceneManager.LoadScene(, LoadSceneMode.Additive) 和 SceneManager.UnloadScene 来管理你的游戏进度。”

米琪卡哇伊

如果即使关闭应用程序也希望保留字体大小您应该使用 PlayerPrefs。https://docs.unity3d.com/ScriptReference/PlayerPrefs.html否则 DontDestroyOnLoad(this); 使用此代码。
打开App,查看更多内容
随时随地看视频慕课网APP