Maison >développement back-end >C++ >Comment passer au mieux les données entre les scènes de l'unité?
Utiliser des variables statiques
Exemple:
Utilisez DontDestROYOnload
<code>public static int score;</code>
Exemple:
Stockage de données local
<code>void Awake() { DontDestroyOnLoad(gameObject); }</code>PlayerPrefs et stockage basé sur des fichiers (XML, JSON, binaire) offrent des options de données persistantes en dehors de la limite de la scène.
Il convient à une petite quantité de données (par exemple, des scores élevés, des paramètres).
Exemple: Stockage basé sur le fichier:
Il convient à une grande quantité de données ou de structures de données complexes.Exemple: utilisez la classe de données personnalisée PlayerData:
<code>void OnDisable() { PlayerPrefs.SetInt("playerScore", playerScore); }</code>
suggestion
Pour les données simples qui n'ont pas besoin d'être commutées dans la scène, utilisez des variables statiques.Pour GameObject ou des composants qui représentent l'entité durable, utilisez DontDestRoyOnload.
<code>void SaveData() { using (BinaryWriter writer = new BinaryWriter(File.OpenWrite("playerData.bin"))) { writer.Write(playerData.score); // ... 保存其他数据 } }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!