我正在嘗試在 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 關注
- 543 瀏覽
添加回答
舉報
0/150
提交
取消