我有一个名为dataSheet的脚本附加到GameObject DataSheet。如何从另一个场景中访问其中的布尔值?
答案 0 :(得分:3)
答案 1 :(得分:3)
您有一个要保存布尔值的类:
private bool myBool = false;
void LoadingNewScene()
{
int i = (mybool == true) ? 1 : 0;
PlayerPrefs.SetInt("TheValue", i);
}
以上假设在加载新场景时调用了LoadingNewScene。然后你有一个附加到另一场景中游戏对象的类:
void Awake(){
if(PlayerPrefs.HasKey("TheValue") == true){
bool result = PlayerPrefs.GetInt("TheValue") > 0;
}
}
您还可以使用MonoBehaviour回调,例如OnDestroy或SceneManager事件系统。
https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager-sceneLoaded.html