Kontrol adalah elemen antarmuka pengguna grafis, seperti tombol, label atau kotak centang. Ini termasuk visual kontrol, dan logika skrip untuk beroperasi dan berinteraksi dengan kontrol.
Pada UI(User Interface) Memungkinkan pengguna untuk berinteraksi dengan aplikasi Anda. Unity saat ini mendukung tiga sistem UI. More info
Lihat di Glossary Toolkit, kontrol mirip dengan PrefabJenis aset yang memungkinkan Anda untuk menyimpan GameObject lengkap dengan komponen dan properti. Prefab bertindak sebagai template dari mana Anda dapat membuat instance objek baru di tempat kejadian. More info
Lihat di Glossary, menggabungkan elemen visual dan scripting ke dalam template yang dapat Anda gunakan di dalam panel UI.
Kontrol dapat terdiri dari elemen visual tunggal, atau kombinasi beberapa elemen visual.
Misalnya, kontrol Toggle
, ditunjukkan di atas, mengandung tiga elemen:
Pelaksanaan kontrol Toggle
menentukan perilaku kontrol. Memiliki nilai internal apakah state toggle benar atau palsu. Logika ini mengubah visibilitas gambar checkmark ketika perubahan nilai.
Untuk menggunakan kontrol di UI, Anda perlu menambahkannya ke hierarki UI, yang disebut Pohon Visual. Anda dapat menambahkan kontrol melalui script, UXML, atau di UI Builder.
Potongan kode di bawah menunjukkan cara menambahkan kontrol Button
ke pohon visual yang ada.
var newButton = new Button("Click me!");
rootVisualElement.Add(newButton);
Ketika menambahkan kontrol ke hierarki UI, mesin tata letak secara otomatis menangani ukuran dan posisi. Untuk informasi lebih lanjut tentang tata letak otomatis, lihat Mesin Layout.
Anda juga dapat mengatur ukuran dan posisi elemen visual secara manual. Untuk mempelajari lebih lanjut tentang mengendalikan posisi secara manual, lihat halaman Pohon Visual.
Semua elemen visual dalam UI Toolkit menggunakan gaya untuk menentukan atribut mereka. Anda dapat memodifikasi sifat gaya dalam tiga cara:
Kontrol interaktif dan mewakili nilai yang dapat Anda ubah. Sebagai contoh, FloatField
mewakili nilai pelampung. Anda dapat menggunakan kode untuk bereaksi terhadap perubahan, seperti:
Jika kontrol mewakili nilai yang dapat dimodifikasi, mengandung properti value
. ScriptsSepotong kode yang memungkinkan Anda untuk membuat Komponen Anda sendiri, memicu peristiwa permainan, memodifikasi sifat komponen dari waktu ke waktu dan menanggapi input pengguna dengan cara apa pun yang Anda sukai. More info
Lihat di Glossary dapat menggunakan properti value
untuk langsung mengakses nilai kontrol. Potongan kode di bawah ini menciptakan kontrol Toggle
dan kontrol Button
. Ketika Anda mengklik tombol, nilai flip toggle.
// Create a toggle and register callback
m_MyToggle = new Toggle("Test Toggle") { name = "My Toggle" };
rootVisualElement.Add(m_MyToggle);
// Create button to flip the toggle's value
Button button01 = new Button() { text = "Toggle" };
button01.clicked += () =>
{
m_MyToggle.value = !m_MyToggle.value;
};
rootVisualElement.Add(button01);
Untuk mempelajari lebih lanjut tentang sifat pengendalian spesifik, lihat UI Toolkit kontrol referensi.
Semua kontrol bawaan yang memiliki sifat value
mengirimkan acara jika perubahan nilai. Kode dapat mendaftarkan callback untuk menerima acara ini. Potongan kode berikut menunjukkan cara membuat kontrol Toggle
dan mendaftarkan callback:
// Create a toggle and register callback
m_MyToggle = new Toggle("Test Toggle") { name = "My Toggle" };
m_MyToggle.RegisterValueChangedCallback((evt) => { Debug.Log("Change Event received"); });
rootVisualElement.Add(m_MyToggle);
Untuk mempelajari lebih lanjut tentang callback dan acara, lihat Penanganan Acara.
Kontrol dapat mengikat langsung ke objek atau properti serial. Misalnya, kontrol FloatField
dapat mengikat variabel pelampung publik yang milik MonoBehaviour
. Ketika kontrol mengikat properti, secara otomatis menampilkan nilai properti. Ketika pengguna memodifikasi kontrol, nilai pembaruan properti.
Demikian pula, ketika perubahan nilai properti melalui kode, UI menampilkan nilai terbaru. Koneksi dua arah ini berguna ketika membuat inspectorsJendela Unity yang menampilkan informasi tentang Pengaturan GameObject yang dipilih saat ini, aset atau proyek, memungkinkan Anda untuk memeriksa dan mengedit nilai. More info
Lihat di Glossary kustom.
Untuk mempelajari lebih lanjut tentang mengikat data, lihat halaman Binding.
Tidak semua kontrol terikat. Untuk melihat daftar semua kontrol bawaan dan apakah mereka mendukung mengikat, lihat UI Toolkit kontrol referensi.
UI Toolkit memungkinkan Anda untuk membuat kontrol kustom. Ini memungkinkan untuk membuat kontrol yang kompleks, atau menerapkan logika kustom untuk elemen antarmuka pengguna. Kontrol derive langsung dari VisualElement
, atau subkelas VisualElement
, seperti TextElement
. Mereka juga dapat menambahkan manipulator untuk menerapkan perilaku kontrol. Misalnya, kontrol Button
menambahkan manipulator Clickable
.
Unity mencakup berbagai kontrol standar, seperti label, bidang teks, dan toggles. Beberapa kontrol hanya tersedia di Editor. Untuk daftar lengkap kontrol built-in untuk UI Toolkit, lihat UI Toolkit kontrol referensi.