Tambahkan Komponen
Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 46 dari 85.
gameObject.AddComponent<T>() menambahkan komponen baru bertipe T ke objek saat game berjalan, lalu mengembalikannya agar kamu bisa mengaturnya pada baris berikutnya. Komponen ini menjadi bagian dari GameObject, yang diakses skrip melalui gameObject. Api unggun ini memberi dirinya sendiri cahaya oranye hangat saat game dimulai:
void Start()
{
Light glow = gameObject.AddComponent<Light>();
glow.color = new Color(1f, 0.5f, 0f);
glow.intensity = 2f;
}Komponen yang ditambahkan dengan cara ini akan bertahan selama game berjalan. Hentikan tombol “Main”, lalu objek akan kembali ke kondisi yang tersimpan di scene, tanpa Light. Skripmu sendiri juga merupakan komponen: gameObject.AddComponent<Spinner>() menambahkan Spinner yang mulai berjalan seperti skrip lainnya.
Sebagian besar komponen dapat ditambahkan lebih dari sekali, tetapi beberapa tidak: sebuah objek hanya dapat memiliki paling banyak satu Rigidbody, dan permintaan untuk menambahkan yang kedua akan menampilkan peringatan di Console, yaitu Can't add component 'Rigidbody'. Kode yang mungkin berjalan lebih dari sekali akan memeriksa apakah objek sudah memiliki komponen tersebut sebelum menambahkannya.
Tantangan
SedangTombol Space menggoyangkan pohon palem, lalu kelapa jatuh.
- Di
Update(), saatInput.GetKeyDown(KeyCode.Space), tambahkan Rigidbody dengangameObject.AddComponent<Rigidbody>(). - Tambahkan hanya jika kelapa belum memilikinya:
!TryGetComponent(out Rigidbody rb). Menekan Space untuk kedua kalinya tidak akan menambahkan Rigidbody kedua.
Tekan tombol “Main”, lalu tekan Space: kelapa jatuh ke pasir. Kemudian tekan tombol “Periksa”.
Coba sendiri
using UnityEngine;
public class CoconutDrop : MonoBehaviour
{
void Update()
{
// Space: tambahkan Rigidbody jika kelapanya belum memilikinya
}
}
Semua pelajaran di Dasar-Dasar Scripting Unity
1Dasar-Dasar C# di Unity
Halo, UnityVariabelDesimal Memerlukan fTeks di ConsoleVariabel yang Menyimpan NilaiIf dan ElseBandingkan AngkaUlasan: Pengumpul Koin7Perulangan dan method
Ulangi dengan forPerulangan di dalam perulanganTulis methodMethod yang Mengembalikan NilaiarrayUlasan: Tangga10Menemukan Benda
Cari Berdasarkan NamaTagCari Berdasarkan TipeReferensi Lebih Baik daripada FindNull di UnityRangkuman: Koin Terdekat13Proyek: Hindari Balok
Karakter PelariBalok dari Langit2Buat Bergerak
Tempatkan KubusBergerak Setiap FrameBerputar Setiap DetikKemudikan dengan TombolRangkuman: Kemudikan Kubus5Vektor
Menjumlahkan VektorArahRuang Lokal dan DuniaKecepatan DiagonalJarak AntarobjekVector3 adalah StructRangkuman: Pilot Drone8GameObjects dan Komponen
Referensi di InspectorAmbil KomponenKomponen yang HilangTambahkan KomponenRequireComponentTampilkan dan SembunyikanRingkasan: Sakelar Lampu6Transformasi dan Hierarki
Objek Induk dan AnakKibarkan BenderaSkalaMelihat BendaBergerak Menuju TitikRekap: Bulan yang MengorbitLatihan sendiri: Playground Unity