Tampilkan dan Sembunyikan
Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 48 dari 85.
SetActive(false) menonaktifkan seluruh GameObject: objek itu tidak ditampilkan, tidak lagi bertabrakan, skrip di dalamnya berhenti menerima Update(), dan objek-objek turunannya juga ikut dinonaktifkan. SetActive(true) mengaktifkan semuanya kembali, dan activeSelf menunjukkan apakah objek itu aktif. Skrip pada tombol ini menyembunyikan pintu di field door saat mouse diklik:
public GameObject door;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
door.SetActive(false);
}
}Skrip yang menyembunyikan objeknya sendiri dengan gameObject.SetActive(false) tidak dapat mengaktifkannya kembali, karena Update()-nya tidak lagi berjalan. Jadi, sakelar berada di objek lain, yang memiliki referensi ke objek yang ditampilkan dan disembunyikannya.
enabled menonaktifkan satu komponen dan membiarkan bagian lain dari objek tetap seperti semula. GetComponent<Renderer>().enabled = false membuat objek tidak terlihat, tetapi collider-nya tetap menghalangi benda lain: seperti tembok tak terlihat. Skrip dengan enabled = false tidak lagi menerima pemanggilan Update(), tetapi objeknya tetap berada di scene, tetap ditampilkan dan tetap bertabrakan, sementara komponen lainnya tetap berfungsi.
Tantangan
SedangTekan Space untuk menyembunyikan jembatan lalu menampilkannya kembali.
- Di dalam
Update(), saatInput.GetKeyDown(KeyCode.Space), panggilbridge.SetActive(...)untuk mengubah seluruh jembatan, termasuk collider. - Berikan nilai kebalikan dari statusnya:
bridge.SetActive(!bridge.activeSelf);.
Tekan tombol “Main” lalu tekan Space beberapa kali: jembatan menghilang lalu muncul kembali. Setelah itu, tekan tombol “Periksa”.
Coba sendiri
using UnityEngine;
public class BridgeSwitch : MonoBehaviour
{
public GameObject bridge;
void Update()
{
// Menekan Space menyembunyikan jembatan, lalu menekannya lagi menampilkan jembatan kembali
}
}
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