在游戲開發中,會常用到場景間傳遞數據的方法(比如關卡選擇,過關后自動回到關卡選擇界面,以動畫方式解鎖下一關),目前研究了三種:
1. 使用DontDestroyOnLoad方法:
(1)在場景A中做個GameObject,身上掛個腳本,在Start方法中寫明
DontDestroyOnLoad(gameObject);
這個表示在場景跳轉后,不需要Destory這個物體,在下個場景中這個物體依然保留,運行后,在Hierarchy視窗中也會自動生成這樣的游戲物體
跳轉到場景B中,再從這個游戲物體身上取腳本組件和值
2. 使用PlayerPrefs進行永久存儲,這種方式應該會以文件的方式存儲在存儲器中,
設值
PlayerPrefs.SetInt("CurrentLevel", 10);
讀值
PlayerPrefs.GetInt("CurrentLevel")
3.使用static變量
這種方式很不錯,自己設計一個class,把要存儲並傳遞的變量做成public static變量,也不需要實例化類,跳轉后直接讀取就行了