Datenübertragung zwischen der Einheitsszene: Methoden und Überlegungen
Verwenden Sie statische Variablen
Beispiel:
Verwenden Sie dontdestroyonload
<code>public static int score;</code>
Beispiel:
Lokale Datenspeicherung
<code>void Awake() { DontDestroyOnLoad(gameObject); }</code>
Es ist für eine kleine Datenmenge geeignet (z. B. hohe Bewertungen, Einstellungen).
Beispiel: Datei -basierte Speicher:
Es ist für eine große Menge an Daten oder komplexen Datenstrukturen geeignet.Beispiel: Verwenden Sie die benutzerdefinierte Datenklasse PlayerData:
<code>void OnDisable() { PlayerPrefs.SetInt("playerScore", playerScore); }</code>
Vorschlag
Für einfache Daten, die in der Szene nicht umgeschaltet werden müssen, verwenden Sie statische Variablen.Für GameObject oder Komponenten, die die dauerhafte Entität darstellen, verwenden Sie dontdestroyonload.
<code>void SaveData() { using (BinaryWriter writer = new BinaryWriter(File.OpenWrite("playerData.bin"))) { writer.Write(playerData.score); // ... 保存其他数据 } }</code>
Das obige ist der detaillierte Inhalt vonWie kann ich Daten zwischen den Szenen in der Einheit am besten übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!