Menggunakan butang dalam UI Perpaduan

Laman dikemaskini :
Tarikh penciptaan halaman :

Persekitaran pengesahan

Windows
  • Windows 11
Penyunting Perpaduan
  • 2020.3.25f1

Prasyarat untuk petua ini

Tetapan berikut telah dibuat terlebih dahulu sebagai prasyarat untuk penjelasan petua ini.

Pada mulanya

Butang boleh digunakan sebagai objek yang diklik oleh pengguna sendiri, atau ia boleh digunakan untuk membuat pilihan, seperti "ya" atau "tidak." Jika anda ingin mendapatkan sedikit lebih terperinci, anda boleh menggunakan butang sebagai objek untuk memilih item senarai seperti menu.

Di samping itu, ia juga boleh digunakan untuk tujuan penyahpepijatan dan apabila mengklik butang untuk menukar keadaan sewenang-wenangnya.

Klik butang untuk menukar teks

Jika anda hanya klik butang, anda akan melakukan beberapa pemprosesan. Kali ini, setiap kali anda mengklik butang, nombor teks akan meningkat sebanyak 1.

Peletakan dan Konfigurasi UI

Menambah teks dan butang daripada hierarki pada pandangan.

Anda boleh meletakkannya di mana sahaja selagi anda meletakkannya di tempat di mana anda dapat melihatnya. Oleh kerana sukar untuk dilihat dalam keadaan awal, tetapan seperti "warna teks putih", "menukar saiz", "meningkatkan saiz fon", dan lain-lain ditetapkan. Kandungan Teks akan ditukar secara automatik kemudian, jadi anda boleh meninggalkannya sebagai "Teks Baru".

Tetapan watak butang dibahagikan kepada "Butang" dan "Teks", jadi pilih Teks dan tetapkannya.

Menambah Skrip

Pilih folder Scenes daripada projek anda, klik kanan pada ruang kosong dan pilih C# Script untuk menambahnya. Pada asalnya, adalah lebih baik untuk membuat skrip dalam folder berasingan, tetapi saya akan meninggalkannya untuk tujuan menyemak operasi.

Nama fail harus mudah difahami. Masukkan sebanyak mungkin aksara angka abjad. ButtonClick Dalam kes ini, ia ditetapkan kepada .

Setelah dibuat, klik dua kali skrip C# untuk membuka editor skrip. Jika editor skrip anda adalah Visual Studio, anda sepatutnya melihat sesuatu seperti ini:

Start, Kaedah ini tidak diperlukan kali ini, jadi padamkannya, Update tulis semula dan simpan seperti 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# bukan topik utama petua ini, jadi saya tidak akan menerangkannya. Sila belajar sendiri. Hanya penerangan khusus Perpaduan dibincangkan.

MonoBehaviour Bidang yang ditulis dalam kelas yang diwarisi akan dapat ditetapkan dalam Editor Perpaduan. CountText Di sini, kami mentakrifkan objek teks yang dipanggil Agar ia dipaparkan, ia public mesti diterbitkan dengan . SerializeField Walau bagaimanapun, jika anda menambah atribut, anda public akan dapat memaparkannya dalam editor dengan kebolehcapaian selain daripada . Ini adalah penerangan yang lebih baik jika anda tidak mahu mengaksesnya dari kelas lain sebanyak mungkin selain daripada tujuan menetapkannya dalam editor.

OnClick Kaedah disediakan untuk menerangkan apa yang perlu dilakukan apabila butang diklik. public Ini mesti ditakrifkan dalam .

Melampirkan dari Editor Perpaduan

Kembali ke Editor Perpaduan dan pilih dari hierarki EventSystem .

EventSystem pemeriksa akan muncul, jadi lepaskan skrip C# yang baru sahaja anda buat di kawasan "Tambah Komponen" di bawah. Skrip kini bersedia untuk berfungsi.

Malah, skrip ini boleh dilampirkan pada mana-mana objek, dan Button ia harus dilampirkan pada objek. Dalam petua ini, kami akan menambah untuk menjadikannya mudah difahami EventSystem . Button Sudah tentu, tidak ada masalah dengan melampirkannya kepada . Walau bagaimanapun, adalah lebih baik untuk tidak melampirkannya pada objek yang sama sekali tidak berkaitan, kerana ia akan menyebabkan kekeliruan.

Jika anda melihat skrip yang anda tambah, anda dapat melihat bahawa item "Kira Teks" dipaparkan. Sebaik sahaja anda telah menerbitkan medan dengan cara ini, anda akan dapat menetapkan nilai dari Editor Perpaduan. Kami ingin mencapai objek teks apabila kami mengklik butang, jadi seret dari hierarki Text dan Count Text lepaskannya . Ini akan membolehkan anda mengaksesnya dari skrip anda pada bila-bila masa.

Seterusnya, pilih daripada hierarki Button dan klik + di bawah Klik dalam Pemeriksa Button .

Kemudian satu item akan ditambah.

Dalam item kanan bawah, saya telah menjatuhkan skrip yang EventSystem dilampirkan dari hierarki. Oleh kerana kita perlu meletakkan objek yang mana skrip dilampirkan di sini, Jika anda melampirkan skrip ke Butang, anda perlu memasukkan Butang.

Jika anda mengklik "Tiada Fungsi", skrip yang dilampirkan akan dipaparkan, jadi ButtonClick pilih . Pilih kaedah yang anda buat OnClick di dalamnya. Sekarang apabila anda mengklik butang, kaedah itu OnClick dipanggil.

Log keluaran dengan klik butang

Saya akan mengeluarkan log untuk mengesahkan bahawa ia berfungsi. Anda boleh menyemak bahawa ia berfungsi hanya dengan menulis satu baris, dan ia akan menjadi sangat berguna untuk penyahpepijatan masa depan, jadi lebih baik untuk mengingatinya.

ButtonClick Buka skrip dan OnClick tambah yang berikut kepada .

public void OnClick()
{
  // コンソール ログを出力
  Debug.Log("ボタンが押されました!");
}

Sebaik sahaja anda memasukkan dan menyimpan, jalankan permainan dan klik butang.

Setiap kali anda mengkliknya, mesej muncul dalam tab konsol. Sekarang anda dapat melihat bahawa ia berfungsi.

Ubah teks dengan klik butang

Sekarang anda boleh menggerakkan butang, tujuan petua ini telah dicapai. Sekarang saya telah meletakkan objek teks, saya ingin menukar teks setiap kali saya mengklik butang.

Tulis semula skrip seperti 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();
  }
}

Kandungannya hanya untuk meningkatkan kiraan sebanyak 1 setiap kali anda mengklik dan menetapkan nombor ke objek teks.

Jalankan permainan dan pastikan nombor meningkat dengan setiap klik.