Používanie tlačidiel v používateľskom rozhraní Unity

Stránka aktualizovaná :
Dátum vytvorenia strany :

Prostredie overovania

Windows
  • Windows 11
Editor jednoty
  • 2020.3.25f1

Predpoklady pre tento tip

Nasledujúce nastavenia boli vykonané vopred ako predpoklad pre vysvetlenie týchto tipov.

Najskôr

Tlačidlo môže byť použité ako objekt, na ktorý používateľ klikne sám, alebo ho možno použiť na výber, napríklad "áno" alebo "nie". Ak chcete byť trochu prepracovanejší, môžete použiť tlačidlo ako objekt na výber položky zoznamu, ako je napríklad ponuka.

Okrem toho sa dá použiť aj na účely ladenia a pri kliknutí na tlačidlo ľubovoľne zmeniť stav.

Kliknutím na tlačidlo zmeníte text

Ak jednoducho kliknete na tlačidlo, urobíte nejaké spracovanie. Tentoraz sa pri každom kliknutí na tlačidlo číslo textu zvýši o 1.

Umiestnenie a konfigurácia používateľského rozhrania

Pridajte text a tlačidlá z hierarchie do zobrazenia.

Môžete ho umiestniť kdekoľvek, pokiaľ ho umiestnite na miesto, kde ho môžete vidieť. Pretože je ťažké vidieť v počiatočnom stave, nastavia sa nastavenia ako "farba bieleho textu", "zmena veľkosti", "zväčšenie veľkosti písma" atď. Obsah textu sa neskôr automaticky zmení, takže ho môžete ponechať ako "Nový text".

Nastavenie znakov tlačidla je rozdelené na "Tlačidlo" a "Text", preto vyberte Text a nastavte ho.

Pridávanie skriptov

Vyberte priečinok Scény z projektu, kliknite pravým tlačidlom myši na prázdne miesto a pridajte ho výberom položky C# Script. Pôvodne je lepšie vytvoriť skript v samostatnom priečinku, ale za účelom kontroly operácie ho vynechám.

Názov súboru by mal byť ľahko zrozumiteľný. Zadajte čo najviac alfanumerických znakov. ButtonClick V tomto prípade je nastavená na .

Po vytvorení dvakrát kliknite na skript C# a otvorte editor skriptov. Ak je editorom skriptov Visual Studio, malo by sa zobraziť niečo takéto:

Start, Metóda tentoraz nie je potrebná, preto ju vymažte, Update prepíšte a uložte nasledovne.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;    // 追加

public class ButtonClick : MonoBehaviour
{
  /// <summary>カウントアップするテキストオブジェクト。</summary>
  [SerializeField] Text CountText;

  public void OnClick()
  {
  }
}

Syntax C # nie je hlavnou témou tohto tipu, takže ju nebudem vysvetľovať. Prosím, študujte sami. Diskutuje sa len o opisoch špecifických pre jednotu.

MonoBehaviour Polia napísané v triedach, ktoré dedia z, bude možné nastaviť v Editore jednoty. CountText Tu definujeme textový objekt s názvom Aby mohol byť zobrazený, public musí byť zverejnený s . SerializeField Ak však tento atribút pridáte, public budete ho môcť zobraziť v editore s inou prístupnosťou ako . Toto je lepší popis, ak k nemu nechcete pristupovať z iných tried čo najviac okrem účelu nastavenia v editore.

OnClick K dispozícii sú metódy opisujúce, čo robiť po kliknutí na tlačidlo. public Toto musí byť definované v .

Pripojenie z editora Unity

Vráťte sa do editora jednoty a vyberte z hierarchie EventSystem .

EventSystem Zobrazí sa inšpektor, takže presuňte skript C#, ktorý ste práve vytvorili, do oblasti "Pridať komponent" nižšie. Skript je teraz pripravený na prácu.

V skutočnosti môže byť tento skript pripojený k akémukoľvek objektu a Button mal by byť pripojený k objektu. V tomto tipe pridáme k, aby to bolo jednotne ľahko pochopiteľné EventSystem . Button Samozrejme, nie je problém ho pripojiť k . Je však lepšie ho nepripájať k úplne nesúvisiacemu objektu, pretože to spôsobí zmätok.

Ak sa pozriete na pridaný skript, môžete vidieť, že sa zobrazí položka "Spočítať text". Po publikovaní poľa týmto spôsobom budete môcť nastaviť hodnotu z editora jednotiek. Chceme získať prístup k textovému objektu, keď klikneme na tlačidlo, takže presuňte myšou z hierarchie Text a Count Text pustite ho . To vám umožní kedykoľvek pristupovať zo skriptu.

Potom vyberte z hierarchie Button a kliknite na + v časti On Kliknite na inšpektora Button .

Potom sa pridá jedna položka.

V pravej dolnej položke som vypustil priložený skript z EventSystem hierarchie. Keďže sem musíme umiestniť objekt, ku ktorému je skript pripojený, Ak pripájate skript k tlačidlu, musíte zahrnúť tlačidlo.

Ak kliknete na "Žiadna funkcia", zobrazí sa priložený skript, takže ButtonClick vyberte . Vyberte metódu, ktorú ste v ňom vytvorili OnClick . Teraz, keď kliknete na tlačidlo, OnClick metóda sa volá.

Výstupný protokol kliknutím na tlačidlo

Vypracujem protokol, aby som potvrdil, že funguje. Môžete skontrolovať, či to funguje len napísaním jedného riadku, a bude to veľmi užitočné pre budúce ladenie, takže je lepšie si ho zapamätať.

ButtonClick Otvorte skript a OnClick pridajte nasledujúci text do .

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

Po zadaní a uložení spustite hru a kliknite na tlačidlo.

Zakaždým, keď naň kliknete, na karte Konzola sa zobrazí správa. Teraz vidíte, že to funguje.

Zmena textu kliknutím na tlačidlo

Teraz, keď môžete posúvať tlačidlá, účel tohto tipu bol dosiahnutý. Po umiestnení textového objektu chcem zmeniť text pri každom kliknutí na tlačidlo.

Prepíšte skript nasledovne.

// 省略

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();
  }
}

Obsahom je jednoducho zvýšenie počtu o 1 pri každom kliknutí a nastavenie čísla na textový objekt.

Spustite hru a uistite sa, že číslo sa zvyšuje s každým kliknutím.