Menu
CoddyTech

Mendapatkan Komponen

Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 30 dari 67.

GameObject adalah wadah komponen: Transform, MeshRenderer yang menggambarnya, collider, dan skripmu. GetComponent<Renderer>() mengembalikan komponen dengan tipe tersebut pada object yang sama, dan melalui komponen itu skripmu mengubah cara kerjanya. transform adalah pintasan siap pakai untuk Transform; setiap komponen lainnya kamu ambil sendiri.

Cube ini berubah menjadi merah saat Space ditekan. Cube ini mencari Renderer satu kali, di Start(), lalu menyimpannya dalam 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 memberikan object ini salinan materialnya sendiri saat pertama kali digunakan, sehingga object lain yang menggunakan material yang sama tetap mempertahankan warnanya. Unity menyediakan beberapa nama warna untukmu, seperti Color.red, Color.green, Color.blue, Color.yellow, dan Color.gray; new Color(r, g, b) membuat warna lainnya, dengan setiap komponennya bernilai dari 0 hingga 1.

challenge icon

Tantangan

Sedang

Lampu sinyal dimulai dengan warna merah. Setiap klik memindahkannya ke warna berikutnya, dengan urutan: merah, kuning, hijau, lalu kembali merah, dan seterusnya.

Dapatkan Renderer satu kali, di Start(), lalu simpan dalam field. Gunakan Color.red, Color.yellow dan Color.green.

Tekan Play, klik game beberapa kali, lalu Periksa.

Coba sendiri

using UnityEngine;

public class SignalLight : MonoBehaviour
{

    void Start()
    {
    }

    void Update()
    {
        // Setiap klik: merah, lalu kuning, lalu hijau, lalu merah lagi
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar Scripting Unity