为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
动漫人物 2022-11-21 21:41:29

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


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


public static class Globals

{

    public static int FontSize {

        get{

            return FontSize;

        }

        set{

            FontSize = value;

        }

    }

}


查看完整描述

2 回答

?
潇潇雨雨

TA贡献1562条经验 获得超3个赞

要在场景之间保留数据,您可以:

  • 使用 PlayerPrefs

  • 使用 DontDestroyOnLoad

  • 使用全局变量

该视频深入解释了如何使用每一个并解释了优缺点。 https://www.youtube.com/watch?v=WchH-JCwVI8

但是它可能有点过时(2016 年)。

现在:“建议避免使用 DontDestroyOnLoad 来持久化您希望在场景加载期间存活的管理器游戏对象。相反,创建一个包含所有管理器的管理器场景并使用 SceneManager.LoadScene(, LoadSceneMode.Additive) 和 SceneManager.UnloadScene 来管理你的游戏进度。”


查看完整回答
反对 回复 2022-11-21
?
米琪卡哇伊

TA贡献1697条经验 获得超6个赞

如果即使关闭应用程序也希望保留字体大小

您应该使用 PlayerPrefs。

https://docs.unity3d.com/ScriptReference/PlayerPrefs.html

否则 DontDestroyOnLoad(this); 使用此代码。


查看完整回答
反对 回复 2022-11-21
  • 2 回答
  • 0 关注
  • 12 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信