Ambil Komponen
Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 44 dari 85.
GameObject adalah wadah untuk komponen: Transform, MeshRenderer yang menggambarnya, collider, dan skripmu. GetComponent<Renderer>() mengembalikan komponen dengan tipe tersebut pada object yang sama, lalu melalui komponen itu skripmu mengubah cara kerja komponen tersebut. transform adalah jalan pintas siap pakai untuk Transform; kamu harus mengambil sendiri setiap komponen lainnya.
Cube ini berubah menjadi merah saat Space ditekan. Cube ini mencari Renderer satu kali, di Start(), lalu menyimpannya di sebuah field: GetComponent mencari komponen object setiap kali dipanggil, dan hasilnya tidak berubah.
Renderer rend;
void Start()
{
rend = GetComponent<Renderer>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
rend.material.color = Color.red;
}
}rend.material memberi object ini salinan materialnya sendiri saat pertama kali kamu menggunakannya, sehingga object lain yang menggunakan material yang sama tetap mempertahankan warnanya. Unity menyediakan nama untuk beberapa warna, seperti Color.red, Color.green, Color.blue, Color.yellow, dan Color.gray; new Color(r, g, b) membuat warna lainnya, dengan setiap bagian bernilai dari 0 hingga 1.
Tantangan
SedangSetiap klik menyalakan lampu sinyal ke warna berikutnya: merah, kuning, hijau, lalu merah lagi.
- Tambahkan field
Renderer rend;dan atur nilainya diStart()denganGetComponent<Renderer>(). - Saat
Input.GetMouseButtonDown(0), tambahkan 1 ke fieldint step, lalu atur kembali nilainya ke 0 saat mencapai 3. - Atur
rend.material.colorkeColor.red,Color.yellowatauColor.greenuntuk step 0, 1 atau 2.
Tekan tombol “Main” dan klik game: warna lampu berubah. Lalu tekan tombol “Periksa”.
Coba sendiri
using UnityEngine;
public class SignalLight : MonoBehaviour
{
void Start()
{
}
void Update()
{
// Setiap klik: merah, lalu kuning, lalu hijau, lalu merah lagi
}
}
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