Ús de botons a la interfície d'usuari d'Unity
Entorn de verificació
- Windows
-
- Finestres 11
- Editor d'unitat
-
- 25.3.2020
Requisits previs per a aquest consell
Els següents paràmetres s'han fet amb antelació com a requisit previ per a l'explicació d'aquests consells.
Al principi
Un botó es pot utilitzar com un objecte que l'usuari fa clic per si mateix, o es pot utilitzar per triar, com ara "sí" o "no". Si voleu ser una mica més elaborat, podeu utilitzar un botó com a objecte per seleccionar un element de llista, com ara un menú.
A més d'això, també es pot utilitzar amb finalitats de depuració i en fer clic a un botó per canviar l'estat arbitràriament.
Feu clic al botó per canviar el text
Si simplement feu clic al botó, fareu una mica de processament. Aquesta vegada, cada vegada que feu clic al botó, el número de text augmentarà en 1.
Col·locació i configuració de la interfície d'usuari
Afegiu text i botons de la jerarquia a la visualització.
Podeu col·locar-lo a qualsevol lloc sempre que el poseu en un lloc on el pugueu veure. Com que és difícil veure-ho en l'estat inicial, s'estableixen paràmetres com ara "color de text blanc", "canvia la mida", "augmenta la mida de la lletra", etc. El contingut del text es canviarà automàticament més endavant, de manera que podeu deixar-lo com a "Text nou".
La configuració de caràcters del botó es divideix en "Botó" i "Text", de manera que seleccioneu Text i configureu-lo.
Addició de scripts
Seleccioneu la carpeta Escenes del vostre projecte, feu clic amb el botó dret en un espai buit i seleccioneu C# Script per afegir-lo. Originalment, és millor crear l'script en una carpeta separada, però l'ometria amb el propòsit de comprovar l'operació.
El nom del fitxer ha de ser fàcil d'entendre. Introduïu tants caràcters alfanumèrics com sigui possible.
ButtonClick
En aquest cas, s'estableix en .
Un cop creat, feu doble clic a l'script C# per obrir l'editor de scripts. Si el vostre editor de scripts és Visual Studio, hauríeu de veure alguna cosa així:
Start
, El mètode no és necessari aquesta vegada, així que elimineu-lo, Update
torneu-lo a escriure i deseu-lo de la següent manera.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // 追加
public class ButtonClick : MonoBehaviour
{
<summary>カウントアップするテキストオブジェクト。</summary>
[SerializeField] Text CountText;
public void OnClick()
{
}
}
La sintaxi de C# no és el tema principal d'aquest consell, així que no ho explicaré. Si us plau, estudieu pel vostre compte. Només es discuteixen les descripcions específiques de la Unitat.
MonoBehaviour
Els camps escrits a les classes heretades es podran establir a l'Editor Unity.
CountText
Aquí definim un objecte de text anomenat
Perquè es pugui visualitzar, public
s'ha de publicar amb .
SerializeField
No obstant això, si afegiu l'atribut, podreu public
mostrar-lo a l'editor amb una accessibilitat diferent de .
Aquesta és una descripció millor si no voleu accedir-hi des d'altres classes tant com sigui possible que no sigui amb el propòsit de configurar-la a l'editor.
OnClick
Es proporcionen mètodes per descriure què cal fer quan es fa clic en un botó.
public
Això s'ha de definir en .
Adjuntar des de l'Editor Unity
Torneu a l'Editor Unity i seleccioneu de la jerarquia EventSystem
.
EventSystem
apareixerà l'inspector, així que deixeu anar l'script C# que acabeu de crear a l'àrea "Afegeix component" a continuació.
El guió ja està llest per funcionar.
De fet, aquest script es pot adjuntar a qualsevol objecte i Button
s'ha d'adjuntar a l'objecte.
En aquest consell, afegirem a perquè sigui uniformement fàcil d'entendre EventSystem
.
Button
Per descomptat, no hi ha cap problema en adjuntar-lo a . Tot i això, és millor no adjuntar-lo a un objecte completament no relacionat, ja que causarà confusió.
Si mireu l'script que heu afegit, podeu veure que es mostra l'element "Comptar text".
Un cop hàgiu publicat un camp d'aquesta manera, podreu establir el valor des de l'editor Unity.
Volem accedir a l'objecte de text quan fem clic al botó, de manera que arrosseguem des de la jerarquia Text
i Count Text
el deixem anar sobre .
Això us permetrà accedir-hi des del vostre script en qualsevol moment.
A continuació, seleccioneu de la jerarquia Button
i feu clic a + a A Feu clic a l'inspector Button
.
A continuació, s'afegirà un element.
A l'element inferior dret, he deixat caure un script adjunt de la EventSystem
jerarquia.
Com que hem de posar aquí l'objecte al qual s'adjunta l'script,
Si esteu adjuntant un script a un botó, heu d'incloure un botó.
Si feu clic a "Sense funció", es mostrarà l'script adjunt, així que ButtonClick
seleccioneu .
Seleccioneu el mètode que hi heu creat OnClick
.
Ara, quan feu clic al botó, es truca al mètode OnClick
.
Registre de sortida amb el clic d'un botó
Sortiré el registre per confirmar que funciona. Podeu comprovar que funciona només escrivint una línia i serà molt útil per a futures depuracions, per la qual cosa és millor recordar-ho.
ButtonClick
Obriu l'script i OnClick
afegiu el següent a .
public void OnClick()
{
// コンソール ログを出力
Debug.Log("ボタンが押されました!");
}
Un cop hàgiu entrat i desat, executeu el joc i feu clic al botó.
Cada vegada que hi feu clic, apareix un missatge a la pestanya de consola. Ara es pot veure que està funcionant.
Canviar el text amb un botó, fes clic a
Ara que podeu moure els botons, s'ha aconseguit el propòsit d'aquest consell. Ara que he col·locat l'objecte de text, vull canviar el text cada vegada que faig clic al botó.
Reescriviu el guió de la següent manera.
// 省略
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();
}
}
El contingut és simplement augmentar el recompte en 1 cada vegada que feu clic i establir el número a l'objecte de text.
Executeu el joc i assegureu-vos que el nombre augmenta amb cada clic.