Unity 靜態(tài)變量跨場(chǎng)景操作
創(chuàng)建兩個(gè)場(chǎng)景同時(shí)賦值StaticVarious 腳本 然后按鍵好,H ,J 進(jìn)行不斷切換場(chǎng)景,會(huì)發(fā)現(xiàn)unity 控制臺(tái)輸出數(shù)字不斷增加,然后把靜態(tài)去掉,這樣結(jié)果都是10。
using UnityEngine; using System.Collections; using UnityEngine.SceneManagement; public class StaticVarious : MonoBehaviour { static int value = 10; void Start () { Debug.Log(value++); } public void Update() { if (Input.GetKeyDown(KeyCode.H)) { SceneManager.LoadScene("test4"); } if (Input.GetKeyDown(KeyCode.J)) { SceneManager.LoadScene("test3"); } } }
補(bǔ)充:Unity場(chǎng)景間數(shù)據(jù)傳遞方法
在游戲開發(fā)中,會(huì)常用到場(chǎng)景間傳遞數(shù)據(jù)的方法(比如關(guān)卡選擇,過關(guān)后自動(dòng)回到關(guān)卡選擇界面,以動(dòng)畫方式解鎖下一關(guān)),
目前研究了三種:
1. 使用DontDestroyOnLoad方法:
(1)在場(chǎng)景A中做個(gè)GameObject,身上掛個(gè)腳本,在Start方法中寫明
DontDestroyOnLoad(gameObject);
這個(gè)表示在場(chǎng)景跳轉(zhuǎn)后,不需要Destory這個(gè)物體,在下個(gè)場(chǎng)景中這個(gè)物體依然保留,運(yùn)行后,在Hierarchy視窗中也會(huì)自動(dòng)生成這樣的游戲物體
跳轉(zhuǎn)到場(chǎng)景B中,再?gòu)倪@個(gè)游戲物體身上取腳本組件和值
2. 使用PlayerPrefs進(jìn)行永久存儲(chǔ)
這種方式應(yīng)該會(huì)以文件的方式存儲(chǔ)在存儲(chǔ)器中,
設(shè)值
PlayerPrefs.SetInt("CurrentLevel", 10);
讀值
PlayerPrefs.GetInt("CurrentLevel")
3.使用static變量
這種方式很不錯(cuò),自己設(shè)計(jì)一個(gè)class,把要存儲(chǔ)并傳遞的變量做成public static變量,也不需要實(shí)例化類,跳轉(zhuǎn)后直接讀取就行了
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
- 在unity腳本中控制Inspector面板的參數(shù)操作
- C#中public變量不能被unity面板識(shí)別的解決方案
- Unity使用物理引擎實(shí)現(xiàn)多旋翼無人機(jī)的模擬飛行
- 在Unity中使用全局變量的操作
- unity 切換場(chǎng)景不銷毀物體問題的解決
- Unity3D 單例模式和靜態(tài)類的使用詳解
- Unity 讀取文件 TextAsset讀取配置文件方式
- 解決在Unity中使用FairyGUI遇到的坑
- Unity3d 如何更改Button的背景色
- Unity3d使用FairyGUI 自定義字體的操作
- Unity3D運(yùn)行報(bào)DllNotFoundException錯(cuò)誤的解決方案
- Unity游戲之存儲(chǔ)數(shù)據(jù)
相關(guān)文章
C#中static void Main(string[] args) 參數(shù)示例詳解
這篇文章主要介紹了C#中static void Main(string[] args) 參數(shù)詳解,本文通過具體示例給大家介紹的非常詳細(xì),需要的朋友可以參考下2017-03-03Unity基于ShaderLab實(shí)現(xiàn)光照系統(tǒng)(著色器代碼實(shí)現(xiàn)小結(jié))
這篇文章主要介紹了Unity基于ShaderLab實(shí)現(xiàn)光照系統(tǒng),主要總結(jié)unity中shaderlab的著色器代碼實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01c# Bitmap轉(zhuǎn)bitmapImage高效方法
本文主要介紹了c# Bitmap轉(zhuǎn)bitmapImage高效方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11C#使用csvhelper實(shí)現(xiàn)csv的基本操作
CsvHelper 是一個(gè)用于讀寫 CSV 文件的.NET庫(kù),極其快速,靈活且易于使用,CsvHelper 建立在.NET Standard 2.0 之上,幾乎可以在任何地方運(yùn)行,本文給大家介紹了C#使用csvhelper實(shí)現(xiàn)csv的基本操作,需要的朋友可以參考下2024-07-07