Heim >Backend-Entwicklung >C++ >Wie kann ich Daten zwischen den Szenen in der Einheit effizient übergeben?

Wie kann ich Daten zwischen den Szenen in der Einheit effizient übergeben?

DDD
DDDOriginal
2025-02-01 09:26:11649Durchsuche

How to Efficiently Pass Data Between Scenes in Unity?

Daten zwischen den Szenen in Einheit

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn