penghantaran data antara adegan perpaduan: Kaedah dan Pertimbangan
Perpaduan menyediakan pelbagai kaedah untuk lulus data antara penukaran tempat kejadian. Kaedah untuk dipilih bergantung kepada jenis data dan penggunaannya yang diharapkan.
Gunakan pembolehubah statik
Jika data adalah jenis asas (int, rentetan, dan lain -lain) atau tidak diwarisi dari jenis adat monobehaviour, pernyataan sebagai statik dapat memastikan ia wujud di antara adegan.
Contoh:
Gunakan dontdestroyonload
<code>public static int score;</code>
Salin selepas log masuk
Untuk GameObject atau komponen yang diwarisi dari monobehaviour, menggunakan dontdestroyonload dapat menghalang mereka daripada dimusnahkan semasa penukaran tempat kejadian.
Contoh:
Penyimpanan Data Tempatan
<code>void Awake()
{
DontDestroyOnLoad(gameObject);
}</code>
Salin selepas log masuk
PlayerPrefs dan penyimpanan berasaskan fail (XML, JSON, binari) menyediakan pilihan untuk data berterusan di luar sempadan tempat kejadian.
PlayerPrefs: Ia sesuai untuk sedikit data (contohnya, skor tinggi, tetapan).
Contoh:
Penyimpanan berasaskan fail:
Ia sesuai untuk sejumlah besar data atau struktur data kompleks.
Contoh: Gunakan PlayerData Kelas Data Custom: <code>void OnDisable()
{
PlayerPrefs.SetInt("playerScore", playerScore);
}</code>
Salin selepas log masuk
Cadangan
Untuk data mudah yang tidak perlu dihidupkan di tempat kejadian, gunakan pembolehubah statik.
Untuk GameObject atau komponen yang mewakili entiti yang berkekalan, gunakan dontdestroyOnload. <code>void SaveData()
{
using (BinaryWriter writer = new BinaryWriter(File.OpenWrite("playerData.bin")))
{
writer.Write(playerData.score);
// ... 保存其他数据
}
}</code>
Salin selepas log masuk
Untuk sedikit penyimpanan tempatan, gunakan PlayerPrefs.
Untuk data yang besar atau rumit yang perlu wujud selepas permainan dimulakan semula, gunakan storan berasaskan fail. -
- Pertimbangkan perdagangan dan batasan setiap kaedah untuk memilih penyelesaian yang paling sesuai untuk keperluan perkongsian data khusus anda.
Atas ialah kandungan terperinci Bagaimana cara terbaik lulus data antara adegan dalam perpaduan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!