Rumah >pembangunan bahagian belakang >C++ >Bagaimana dengan cekap lulus data antara adegan dalam perpaduan?

Bagaimana dengan cekap lulus data antara adegan dalam perpaduan?

DDD
DDDasal
2025-02-01 09:26:11715semak imbas

How to Efficiently Pass Data Between Scenes in Unity?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn