Ús de botons a la interfície d'usuari d'Unity

Pàgina actualitzada :
Data de creació de la pàgina :

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.