Utilizarea butoanelor din interfața de utilizare Unity
Mediul de verificare
- Windows
-
- Ferestre 11
- Unity Editor
-
- 2020.3.25F1
Cerințe preliminare pentru acest sfat
Următoarele setări au fost făcute în avans ca o condiție prealabilă pentru explicarea acestor sfaturi.
La început
Un buton poate fi folosit ca obiect pe care utilizatorul face clic singur sau poate fi folosit pentru a face o alegere, cum ar fi "da" sau "nu". Dacă doriți să obțineți un pic mai elaborat, puteți utiliza un buton ca obiect pentru a selecta un element de listă, cum ar fi un meniu.
În plus, poate fi utilizat și în scopuri de depanare și atunci când faceți clic pe un buton pentru a schimba starea în mod arbitrar.
Faceți clic pe buton pentru a modifica textul
Dacă faceți clic pur și simplu pe buton, veți face unele procesări. De data aceasta, de fiecare dată când faceți clic pe buton, numărul textului va crește cu 1.
Plasarea și configurarea interfeței de utilizare
Adăugați text și butoane din ierarhie în vizualizare.
Îl puteți plasa oriunde, atâta timp cât îl puneți într-un loc unde îl puteți vedea. Deoarece este dificil de văzut în starea inițială, sunt setate setări precum "culoarea textului alb", "modificarea dimensiunii", "creșterea dimensiunii fontului" etc. Conținutul textului va fi modificat automat mai târziu, astfel încât să îl puteți lăsa ca "Text nou".
Setarea caracterelor butonului este împărțită în "Buton" și "Text", deci selectați Text și setați-l.
Adăugarea scripturilor
Selectați folderul Scene din proiect, faceți clic dreapta pe un spațiu gol și selectați C# Script pentru a-l adăuga. Inițial, este mai bine să creați scriptul într-un dosar separat, dar îl voi omite în scopul verificării operației.
Numele fișierului trebuie să fie ușor de înțeles. Introduceți cât mai multe caractere alfanumerice posibil.
ButtonClick
În acest caz, este setat la .
Odată creat, faceți dublu clic pe scriptul C# pentru a deschide editorul de scripturi. Dacă editorul de scripturi este Visual Studio, ar trebui să vedeți ceva de genul:
Start
, Metoda nu este necesară de data aceasta, așa că ștergeți-o, Update
rescrieți-o și salvați-o după cum urmează.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // 追加
public class ButtonClick : MonoBehaviour
{
<summary>カウントアップするテキストオブジェクト。</summary>
[SerializeField] Text CountText;
public void OnClick()
{
}
}
Sintaxa lui C# nu este subiectul principal al acestui sfat, așa că nu o voi explica. Vă rugăm să studiați pe cont propriu. Sunt discutate numai descrierile specifice Unității.
MonoBehaviour
Câmpurile scrise în clasele de la care moștenesc vor putea fi setate în Editorul de unitate.
CountText
Aici, definim un obiect text numit
Pentru a fi afișat, trebuie public
publicat cu .
SerializeField
Cu toate acestea, dacă adăugați atributul, public
îl veți putea afișa în editor cu altă accesibilitate decât .
Aceasta este o descriere mai bună dacă nu doriți să o accesați din alte clase cât mai mult posibil, decât în scopul configurării acesteia în editor.
OnClick
Sunt furnizate metode pentru a descrie ce trebuie făcut atunci când se face clic pe un buton.
public
Acest lucru trebuie definit în .
Atașarea de la editorul Unity
Reveniți la Editorul de unități și selectați din ierarhie EventSystem
.
EventSystem
inspectorul va apărea, așa că aruncați scriptul C # pe care tocmai l-ați creat în zona "Adăugați componentă" de mai jos.
Scenariul este acum gata să funcționeze.
De fapt, acest script poate fi atașat la orice obiect și Button
ar trebui atașat obiectului.
În acest sfat, vom adăuga la pentru a face uniform ușor de înțeles EventSystem
.
Button
Desigur, nu există nicio problemă cu atașarea acestuia la . Cu toate acestea, este mai bine să nu-l atașați la un obiect complet independent, deoarece va provoca confuzie.
Dacă vă uitați la scriptul pe care l-ați adăugat, puteți vedea că este afișat elementul "Count Text".
După ce ați publicat un câmp în acest fel, veți putea seta valoarea din Editorul Unity.
Vrem să accesăm obiectul text când facem clic pe buton, așa că trageți din ierarhie Text
și Count Text
fixați-l .
Acest lucru vă va permite să îl accesați din script în orice moment.
Apoi, selectați din ierarhie Button
și faceți clic pe + sub La clic în inspector Button
.
Apoi se va adăuga un element.
În elementul din dreapta jos, am renunțat la un script atașat din EventSystem
ierarhie.
Deoarece trebuie să punem obiectul la care este atașat scriptul aici,
Dacă atașați un script la un buton, trebuie să includeți un buton.
Dacă faceți clic pe "Fără funcție", scriptul atașat va fi afișat, deci ButtonClick
selectați .
Selectați metoda pe care ați creat-o OnClick
în ea.
Acum, când faceți clic pe buton, se apelează metoda OnClick
.
Jurnal de ieșire cu un clic pe un buton
Voi scoate jurnalul pentru a confirma că funcționează. Puteți verifica dacă funcționează doar scriind o linie și va fi foarte util pentru depanarea viitoare, deci este mai bine să vă amintiți.
ButtonClick
Deschideți scriptul și OnClick
adăugați următoarele la .
public void OnClick()
{
// コンソール ログを出力
Debug.Log("ボタンが押されました!");
}
După ce ați intrat și ați salvat, rulați jocul și faceți clic pe buton.
De fiecare dată când faceți clic pe el, apare un mesaj în fila consolei. Acum puteți vedea că funcționează.
Schimbați textul cu un clic pe buton
Acum că puteți muta butoanele, scopul acestui sfat a fost atins. Acum că am plasat obiectul text, vreau să schimb textul de fiecare dată când fac clic pe buton.
Rescrieți scriptul după cum urmează.
// 省略
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();
}
}
Conținutul este pur și simplu să incrementați numărul cu 1 de fiecare dată când faceți clic și setați numărul la obiectul text.
Rulați jocul și asigurați-vă că numărul crește cu fiecare clic.