Kaedah penghantaran data yang cekap antara adegan perpaduan
Apabila menukar adegan dalam perpaduan, data sering perlu lulus data antara adegan. Terdapat banyak cara untuk mencapai matlamat ini, dan kaedah khusus bergantung kepada jenis data yang akan diluluskan.
pembolehubah statik
Jika data adalah jenis data asas (int, bool, rentetan, dan lain -lain), ia tidak diwarisi dari monobehaviour dan bukan gamebject, anda boleh menandakannya sebagai pemboleh ubah statik. Pembolehubah statik mengekalkan nilai mereka apabila menukar adegan.
Objek yang diwarisi dari Monobehaviour atau GameObject boleh dikekalkan menggunakan fungsi DontDestroyOnload. Ini menghalang GameObject daripada dimusnahkan apabila tempat kejadian tidak dipasang. Dengan menambahkan skrip yang mengandungi fungsi ini ke objek, pembolehubahnya akan disimpan di tempat kejadian seterusnya.
PlayerPrefs adalah API of Unity, yang membolehkan sedikit data untuk menyimpan sedikit data, seperti pasangan nilai utama. Ia boleh digunakan untuk menyimpan data asas, seperti skor atau tetapan.
Serialization IO File
Untuk sejumlah besar data atau objek kompleks, anda boleh menggunakan format fail bersiri seperti JSON atau binari. Anda boleh membuat kelas tersuai untuk mewakili data permainan, dan kemudian gunakan API C#File (seperti File.WriteallBytes dan File.ReadallBytes) untuk bersiri ke fail.
kes: skor pemindahan
Dalam kod sampel, pemainprefs.setint dan pemainprefs.getInt digunakan untuk lulus nilai skor ke adegan seterusnya. Walau bagaimanapun, selepas skor disimpan, tidak ada penukaran tempat kejadian, jadi adegan yang dimuatkan tidak dapat mengakses nilai yang dikemas kini. Kod harus diubah suai seperti berikut:Scene 1:
Scene 2:
Pengubahsuaian ini memastikan penggunaan PlayerPrefs untuk menyelamatkan skor semasa, dan senario baru menggunakan skor yang disimpan untuk memulakan, dan kemudian menetapkan semula PlayerPrefs.
Atas ialah kandungan terperinci Bagaimanakah saya dapat menyampaikan data dengan berkesan antara adegan dalam perpaduan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!