Heim >Backend-Entwicklung >C++ >Wie kann ich Daten zwischen den Szenen in der Einheit effizient übergeben?
Problem: Übergeben eines Bewertungswerts von einer Szene mit PlayerPrefs in Einheit.
Lösung:
1. Statische Variablen
Diese Methode eignet sich für primitive Datentypen (z. B. int, float) oder Klassen, die nicht von Monobehaviour erben. Beispiel:
public static int score; // In Scene 1 score++; // In Scene 2 Debug.Log(score); // Displays the updated score
2. Dontdestroyonload
Für GameObjects oder Komponenten verwenden Sie dontdestroyonload () in der Funktion wayaKe (), um zu verhindern, dass sie zerstört werden, wenn sich die Szene ändert.
void Awake() { GameObject.DontDestroyOnLoad(gameObject); }
3. PlayerPrefs
PlayerPrefs bietet einen anhaltenden Speicher für einfache Datentypen. Serialisierung
// In Scene 1 PlayerPrefs.SetInt("score", 50); // In Scene 2 int score = PlayerPrefs.GetInt("score");
Verwenden Sie für komplexe Datenstrukturen die Serialisierung zu JSON oder XML. Speichern Sie dann die Daten mit Dateio in einer Datei und laden Sie sie in der nächsten Szene.
Das obige ist der detaillierte Inhalt vonWie kann ich Daten zwischen den Szenen in der Einheit effizient übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!