Dalam Unity, apabila menyimpan data sebagai kelas bersiri, menambah pembolehubah tambahan pada kelas boleh menyebabkan konflik apabila memuatkan versi lama fail yang disimpan. Untuk mengendalikan perkara ini dengan baik, pertimbangkan untuk menukar data kepada format JSON.
Gunakan JsonUtility.ToJson untuk menukar kelas bersiri kepada rentetan JSON. Simpan rentetan ini menggunakan PlayerPrefs.SetString atau kaedah pilihan lain. Apabila memuatkan data, gunakan JsonUtility.FromJson untuk menukar rentetan JSON kembali ke dalam kelas.
Simpan Data:
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(); }
Muat Data:
void Load() { string jsonData = PlayerPrefs.GetString("MySettings"); Save loadedData = Save.FromJson(jsonData); ... // Use the loaded data }
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan dan Memuatkan Data dengan Selamat dalam Unity, Mengendalikan Perubahan pada Kelas Boleh Bersiri Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!