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.
Tantangan
SedangSkrip 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
}
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar Scripting Unity
1Skrip Pertamamu
Halo, UnityLetakkan KubusBergerak di Setiap FrameBerputar Setiap DetikKendalikan dengan TombolRingkasan: Kendarai Kubus4Vektor
Menjumlahkan VektorArahRuang Lokal dan DuniaKecepatan DiagonalJarak antara BendaVector3 adalah StructRingkasan: Pilot Drone7Proyek: Tangkap Bintang
Si PenangkapBintang Jatuh5Transformasi dan Hierarki
Objek Induk dan AnakSkalaMenghadap ke ObjekBergerak Menuju TitikRangkuman: Bulan yang Mengorbit6GameObject dan Komponen
Referensi di InspectorMendapatkan KomponenKomponen yang HilangMenambahkan KomponenRequireComponentTampilkan dan SembunyikanRangkuman: Sakelar Lampu