Menggunakan tombol di UI Unity
Lingkungan verifikasi
- Windows
-
- jendela 11
- Editor Kesatuan
-
- 25f1/3/2020
Prasyarat untuk tip ini
Pengaturan berikut telah dibuat sebelumnya sebagai prasyarat untuk penjelasan tips ini.
Pada awalnya
Tombol dapat digunakan sebagai objek yang diklik pengguna sendiri, atau dapat digunakan untuk membuat pilihan, seperti "ya" atau "tidak." Jika Anda ingin sedikit lebih rumit, Anda bisa menggunakan tombol sebagai objek untuk memilih item daftar seperti menu.
Selain itu, ini juga dapat digunakan untuk tujuan debugging dan ketika mengklik tombol untuk mengubah status secara sewenang-wenang.
Klik tombol untuk mengubah teks
Jika Anda cukup mengklik tombol, Anda akan melakukan beberapa pemrosesan. Kali ini, setiap kali Anda mengklik tombol, nomor teks akan bertambah 1.
Penempatan dan Konfigurasi UI
Tambahkan teks dan tombol dari hierarki ke tampilan.
Anda dapat menempatkannya di mana saja selama Anda meletakkannya di tempat di mana Anda dapat melihatnya. Karena sulit untuk melihat dalam keadaan awal, pengaturan seperti "warna teks putih", "ubah ukuran", "tingkatkan ukuran font", dll diatur. Konten Teks akan diubah secara otomatis nanti, sehingga Anda dapat membiarkannya sebagai "Teks Baru".
Pengaturan karakter tombol dibagi menjadi "Tombol" dan "Teks", jadi pilih Teks dan atur.
Menambahkan Skrip
Pilih folder Scenes dari proyek Anda, klik kanan pada ruang kosong, dan pilih C# Script untuk menambahkannya. Awalnya, lebih baik membuat skrip di folder terpisah, tetapi saya akan menghilangkannya untuk tujuan memeriksa operasi.
Nama file harus mudah dimengerti. Masukkan karakter alfanumerik sebanyak mungkin.
ButtonClick
Dalam hal ini, diatur ke .
Setelah dibuat, klik dua kali skrip C# untuk membuka editor skrip. Jika editor skrip Anda adalah Visual Studio, Anda akan melihat sesuatu seperti ini:
Start
, Metode ini tidak diperlukan kali ini, jadi hapus, Update
tulis ulang dan simpan sebagai berikut.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // 追加
public class ButtonClick : MonoBehaviour
{
<summary>カウントアップするテキストオブジェクト。</summary>
[SerializeField] Text CountText;
public void OnClick()
{
}
}
Sintaks C # bukanlah topik utama dari tip ini, jadi saya tidak akan menjelaskannya. Silakan belajar sendiri. Hanya deskripsi khusus Unity yang dibahas.
MonoBehaviour
Bidang yang ditulis di kelas yang mewarisi dari akan dapat diatur di Editor Unity.
CountText
Di sini, kita mendefinisikan objek teks yang disebut
Agar dapat ditampilkan, itu public
harus diterbitkan dengan .
SerializeField
Namun, jika Anda menambahkan atribut, Anda public
akan dapat menampilkannya di editor dengan aksesibilitas selain .
Ini adalah deskripsi yang lebih baik jika Anda tidak ingin mengaksesnya dari kelas lain sebanyak mungkin selain untuk tujuan mengaturnya di editor.
OnClick
Metode disediakan untuk menjelaskan apa yang harus dilakukan ketika tombol diklik.
public
Ini harus didefinisikan dalam .
Melampirkan dari Editor Unity
Kembali ke Editor Unity dan pilih dari hierarki EventSystem
.
EventSystem
inspektur akan muncul, jadi jatuhkan skrip C# yang baru saja Anda buat di area "Tambahkan Komponen" di bawah ini.
Skrip sekarang siap digunakan.
Bahkan, skrip ini dapat dilampirkan ke objek apa pun, dan Button
harus dilampirkan ke objek.
Dalam tip ini, kami akan menambahkan untuk membuatnya mudah dimengerti EventSystem
secara seragam .
Button
Tentu saja, tidak ada masalah dengan melampirkannya ke . Namun, lebih baik tidak melampirkannya ke objek yang sama sekali tidak terkait, karena akan menyebabkan kebingungan.
Jika Anda melihat skrip yang Anda tambahkan, Anda dapat melihat bahwa item "Hitung Teks" ditampilkan.
Setelah Anda menerbitkan bidang dengan cara ini, Anda akan dapat mengatur nilai dari Editor Unity.
Kami ingin mengakses objek teks ketika kami mengklik tombol, jadi seret dari hierarki Text
dan Count Text
jatuhkan.
Ini akan memungkinkan Anda untuk mengaksesnya dari skrip Anda kapan saja.
Selanjutnya, pilih dari hierarki Button
dan klik + di bawah Saat Klik di Inspektur Button
.
Kemudian satu item akan ditambahkan.
Di item kanan bawah, saya telah menjatuhkan skrip yang dilampirkan dari EventSystem
hierarki.
Karena kita perlu meletakkan objek yang dilampirkan skrip di sini,
Jika Anda melampirkan skrip ke Tombol, Anda perlu menyertakan Tombol.
Jika Anda mengklik "Tidak Ada Fungsi", skrip terlampir akan ditampilkan, jadi ButtonClick
pilih .
Pilih metode yang Anda buat OnClick
di dalamnya.
Sekarang ketika Anda mengklik tombol, metode ini OnClick
dipanggil.
Log keluaran dengan mengklik tombol
Saya akan menampilkan log untuk mengonfirmasi bahwa itu berfungsi. Anda dapat memeriksa apakah itu berfungsi hanya dengan menulis satu baris, dan itu akan sangat berguna untuk debugging di masa mendatang, jadi lebih baik mengingatnya.
ButtonClick
Buka skrip dan OnClick
tambahkan yang berikut ini ke .
public void OnClick()
{
// コンソール ログを出力
Debug.Log("ボタンが押されました!");
}
Setelah Anda masuk dan menyimpan, jalankan game dan klik tombol.
Setiap kali Anda mengkliknya, sebuah pesan muncul di tab konsol. Sekarang Anda dapat melihat bahwa itu berfungsi.
Mengubah teks dengan klik tombol
Sekarang Anda dapat memindahkan tombol, tujuan tip ini telah tercapai. Sekarang saya telah menempatkan objek teks, saya ingin mengubah teks setiap kali saya mengklik tombol.
Tulis ulang skrip sebagai berikut.
// 省略
public class ButtonClick : MonoBehaviour
{
<summary>カウントアップするテキストオブジェクト。</summary>
[SerializeField] Text CountText;
<summary>クリックカウント。</summary>
private int _counter = 0;
public void OnClick()
{
// コンソール ログを出力
Debug.Log("ボタンが押されました!");
// カウントを増やす
_counter++;
// カウントした数を表示する
CountText.text = _counter.ToString();
}
}
Konten hanya untuk menambah hitungan dengan 1 setiap kali Anda mengklik dan mengatur angka ke objek teks.
Jalankan game dan pastikan jumlahnya meningkat dengan setiap klik.