Rumah >pembangunan bahagian belakang >C++ >Bagaimana dengan cekap lulus data antara adegan dalam perpaduan?
Masalah: lulus nilai skor dari satu adegan ke tempat lain menggunakan pemain dalam perpaduan.
🎜>Penyelesaian:
1. Pembolehubah statik
Kaedah ini sesuai untuk jenis data primitif (mis., Int, float) atau kelas yang tidak mewarisi dari monobehaviour. Contoh:
public static int score; // In Scene 1 score++; // In Scene 2 Debug.Log(score); // Displays the updated score
2. Dontdestroyonload
Untuk gameObjects atau komponen, gunakan dontDestroyOnload () dalam fungsi Awake () untuk menghalang mereka daripada dimusnahkan apabila adegan berubah. PlayerPrefs
void Awake() { GameObject.DontDestroyOnLoad(gameObject); }PlayerPrefs menyediakan penyimpanan berterusan untuk jenis data mudah.
4. Serialization
// In Scene 1 PlayerPrefs.SetInt("score", 50); // In Scene 2 int score = PlayerPrefs.GetInt("score");Untuk struktur data yang kompleks, gunakan siriisasi untuk JSON atau XML. Kemudian, simpan data ke fail menggunakan filio dan muatkannya dalam adegan seterusnya.
Atas ialah kandungan terperinci Bagaimana dengan cekap lulus data antara adegan dalam perpaduan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!