Menu
CoddyTech

Tampilkan dan Sembunyikan

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

SetActive(false) menonaktifkan seluruh GameObject: objek itu tidak digambar, tidak lagi bertabrakan, skrip di dalamnya berhenti menerima Update(), dan semua child-nya ikut dinonaktifkan. SetActive(true) mengaktifkan semuanya kembali, dan activeSelf memberi tahu apakah objek itu aktif. Skrip pada tombol ini menyembunyikan pintu yang ada di field door saat mouse diklik:

public GameObject door;

void Update()
{
    if (Input.GetMouseButtonDown(0))
    {
        door.SetActive(false);
    }
}

Skrip yang menyembunyikan object-nya sendiri dengan gameObject.SetActive(false) tidak bisa mengaktifkannya kembali, karena Update()-nya tidak lagi berjalan. Jadi, sakelarnya berada di object lain, yang memiliki referensi ke object yang ditampilkan dan disembunyikannya.

enabled menonaktifkan satu komponen dan membiarkan bagian object lainnya tetap aktif. GetComponent<Renderer>().enabled = false membuat object tidak terlihat, tetapi collider-nya tetap menghalangi benda lain: seperti dinding yang tidak terlihat. Skrip dengan enabled = false tidak lagi menerima pemanggilan Update(), tetapi object-nya tetap berada di scene, tetap digambar dan tetap bertabrakan, sementara komponen lainnya terus berfungsi.

challenge icon

Tantangan

Sedang

Skrip Lever menyimpan Bridge di field bridge. Buat Space mengendalikan bridge: tekanan pertama menyembunyikannya, tekanan berikutnya menampilkannya kembali, dan seterusnya, satu pergantian setiap kali ditekan.

Sembunyikan seluruh bridge, termasuk collider-nya, agar tidak ada yang bisa berdiri di bridge yang tidak ada.

Tekan Play, tekan Space beberapa kali, lalu Check.

Coba sendiri

using UnityEngine;

public class BridgeSwitch : MonoBehaviour
{
    public GameObject bridge;

    void Update()
    {
        // Tombol Space menyembunyikan jembatan, lalu menekannya lagi akan menampilkan jembatan kembali
    }
}
quiz iconUji dirimu

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

Semua pelajaran di Dasar-Dasar Scripting Unity