Membuat objek berdasarkan Prefab dari skrip
Lingkungan verifikasi
- Windows
-
- jendela 11
- Editor Kesatuan
-
- 2021.3.3f1
- Paket Sistem Input
-
- 1.3.0
Prasyarat untuk tip ini
Pengaturan berikut telah dibuat sebelumnya sebagai premis untuk deskripsi tip ini.
Membuat objek berdasarkan Prefab dalam skrip
Dalam Tips sebelumnya, kami menempatkan objek dari Prefab ke tampilan, tetapi dalam kasus ini, kami menempatkan sejumlah objek yang telah ditentukan dan meluncurkan game. Namun, beberapa game mungkin ingin menambahkan objek secara dinamis saat game sedang berjalan. Dalam hal ini, Anda harus menambahkannya dari cetakan dalam skrip.
Pembuatan sampel
Setelah menyebarkan proyek baru, letakkan tombol. Mari kita coba menghasilkan objek dari prefab setiap kali kita mengklik tombol.
Buat prefab. Ini adalah prosedur yang sama dengan tips sebelumnya.
Buat skrip untuk menambahkan objek saat berikutnya Anda mengklik tombol. ButtonEvent
Biarkan nama sebagai .
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
[SerializeField] private GameObject SpritePrefab;
public void OnClick()
{
// Instantiate にプレハブを渡すとそれをもとに新しいオブジェクトを生成する
var obj = Instantiate(SpritePrefab);
// 配置位置はランダムに
obj.transform.localPosition = new Vector3(Random.value * 6 - 3, Random.value * 6 - 3);
}
}
GameObject
Tentukan bidang sehingga Anda dapat mengatur prefab mana yang akan dihasilkan berdasarkan sebelumnya.
Instantiate
Anda dapat melewati metode untuk membuat GameObject
objek baru berdasarkan objek itu.
Posisi objek yang dibuat menjadi asal, dan tidak peduli berapa banyak objek yang dibuat, objek tersebut tumpang tindih dan sulit dipahami, sehingga posisinya diatur secara acak setelah pembuatan. Nilai penyesuaian posisi sesuai karena merupakan sampel.
Lampirkan skrip ke EventSystem.
GameObject
diatur jadi jatuhkan prefab di sini.
Ketika tombol diklik, metode OnClick
ini dipanggil.
Eksekusi Sampel
Setelah dibuat, jalankan game dan klik tombol. Setiap klik harus menghasilkan objek.
Tentu saja, karena dihasilkan berdasarkan prefab, jika nilai prefab berubah, objek yang dihasilkan akan dihasilkan sesuai dengan nilai itu.