In Unity kann das Hinzufügen zusätzlicher Variablen zur Klasse beim Speichern von Daten als serialisierte Klasse zu Konflikten führen Laden älterer Versionen der gespeicherten Datei. Um dies reibungslos zu handhaben, sollten Sie die Konvertierung der Daten in das JSON-Format in Betracht ziehen.
Verwenden Sie JsonUtility.ToJson, um die serialisierte Klasse in eine JSON-Zeichenfolge zu konvertieren. Speichern Sie diese Zeichenfolge mit PlayerPrefs.SetString oder anderen bevorzugten Methoden. Verwenden Sie beim Laden der Daten JsonUtility.FromJson, um die JSON-Zeichenfolge zurück in die Klasse zu konvertieren.
Daten speichern:
using UnityEngine; using System; using System.Collections.Generic; [Serializable] public class Save { public List<int> ID = new List<int>(); public List<int> Amounts = new List<int>(); public int extra = 0; public float highScore = 0; public string ToJson() { return JsonUtility.ToJson(this); } public static Save FromJson(string json) { return JsonUtility.FromJson<Save>(json); } } void Save() { Save saveData = new Save(); ... // Populate the data fields string jsonData = saveData.ToJson(); PlayerPrefs.SetString("MySettings", jsonData); PlayerPrefs.Save(); }
Laden Daten:
void Load() { string jsonData = PlayerPrefs.GetString("MySettings"); Save loadedData = Save.FromJson(jsonData); ... // Use the loaded data }
Das obige ist der detaillierte Inhalt vonWie kann ich Daten sicher in Unity speichern und laden und dabei Änderungen an meiner serialisierbaren Klasse verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!