Menu
CoddyTech

Menambahkan Komponen

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

gameObject.AddComponent<T>() menambahkan komponen baru bertipe T ke object saat game berjalan, lalu mengembalikannya agar kamu bisa mengaturnya pada baris berikutnya. Komponen ini menjadi bagian dari GameObject, yang dapat diakses oleh script 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 Play, lalu object akan kembali seperti yang tersimpan di scene, tanpa Light. Script buatanmu sendiri juga merupakan komponen: gameObject.AddComponent<Spinner>() menambahkan Spinner yang mulai berjalan seperti script lainnya.

Sebagian besar komponen bisa ditambahkan lebih dari sekali, tetapi beberapa tidak bisa: sebuah object hanya dapat memiliki paling banyak satu Rigidbody, dan permintaan untuk menambahkan yang kedua akan menghasilkan error di Console. Kode yang mungkin berjalan lebih dari sekali akan memeriksa apakah object sudah memiliki komponen tersebut sebelum menambahkannya.

challenge icon

Tantangan

Sedang

Kelapa menggantung di pohon palem. Menekan Space mengguncang pohon: kelapa mendapatkan Rigidbody, sehingga gravitasi menariknya dan kelapa jatuh ke pasir.

  • Sebelum Space pertama ditekan, kelapa tetap menggantung di tempatnya.
  • Space menambahkan Rigidbody hanya jika kelapa belum memilikinya, jadi tekanan berikutnya tidak meminta apa pun.

Tekan Play, tekan Space, lalu Check.

Coba sendiri

using UnityEngine;

public class CoconutDrop : MonoBehaviour
{
    void Update()
    {
        // Space: tambahkan Rigidbody jika kelapa belum memilikinya
    }
}
quiz iconUji dirimu

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

Semua pelajaran di Dasar-Dasar Scripting Unity