Uporaba gumbov v uporabniškem vmesniku programa Unity
Okolje za preverjanje
- Windows
-
- Windows 11
- Urejevalnik Unity
-
- 2020.3.25F1
Predpogoji za ta nasvet
Naslednje nastavitve so bile vnaprej narejene kot predpogoj za razlago teh nasvetov.
Sprva
Gumb lahko uporabite kot predmet, ki ga uporabnik klikne sam, ali pa ga uporabite za izbiro, na primer »da« ali »ne«. Če želite malo bolj izpopolniti, lahko z gumbom kot predmetom izberete element seznama, kot je meni.
Poleg tega se lahko uporablja tudi za odpravljanje napak in pri kliku na gumb za samovoljno spreminjanje stanja.
Kliknite gumb, če želite spremeniti besedilo
Če preprosto kliknete gumb, boste opravili nekaj obdelave. Tokrat se bo vsakič, ko kliknete gumb, besedilna številka povečala za 1.
Umestitev in konfiguracija uporabniškega vmesnika
Dodajte besedilo in gumbe iz hierarhije v pogled.
Lahko ga postavite kjerkoli, če ga postavite na mesto, kjer ga lahko vidite. Ker je v začetnem stanju težko videti, so nastavljene nastavitve, kot so "bela barva besedila", "spremeni velikost", "povečaj velikost pisave" itd. Vsebina besedila se bo pozneje samodejno spremenila, tako da jo lahko pustite kot »Novo besedilo«.
Nastavitev znakov gumba je razdeljena na "Gumb" in "Besedilo", zato izberite Besedilo in ga nastavite.
Dodajanje skriptov
Izberite mapo Prizori iz projekta, z desno miškino tipko kliknite prazen prostor in izberite C# Script, da jo dodate. Prvotno je bolje ustvariti skript v ločeni mapi, vendar ga bom izpustil zaradi preverjanja operacije.
Ime datoteke mora biti lahko razumljivo. Vnesite čim več alfanumeričnih znakov.
ButtonClick
V tem primeru je nastavljena na .
Ko je ustvarjen, dvokliknite skript C #, da odprete urejevalnik skriptov. Če je urejevalnik skriptov Visual Studio, bi morali videti nekaj takega:
Start
, Metoda tokrat ni potrebna, zato jo izbrišite, Update
ponovno napišite in shranite na naslednji način.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // 追加
public class ButtonClick : MonoBehaviour
{
<summary>カウントアップするテキストオブジェクト。</summary>
[SerializeField] Text CountText;
public void OnClick()
{
}
}
Sintaksa C # ni glavna tema tega nasveta, zato je ne bom razložil. Prosim, študirajte sami. Obravnavani so samo opisi, specifični za enotnost.
MonoBehaviour
Polja, napisana v razredih, ki podedujejo, boste lahko nastavili v urejevalniku Unity.
CountText
Tukaj definiramo besedilni predmet, imenovan
Da bi bil prikazan, mora public
biti objavljen z .
SerializeField
Če pa dodate atribut, ga boste lahko prikazali v urejevalniku z dostopnostjo, public
ki ni .
To je boljši opis, če ne želite dostopati do njega iz drugih razredov, kolikor je to mogoče, razen za namen nastavitve v urejevalniku.
OnClick
Na voljo so metode za opisovanje, kaj storiti, ko kliknete gumb.
public
To mora biti opredeljeno v .
Prilaganje iz urejevalnika Unity
Vrnite se v urejevalnik Unity in izberite iz hierarhije EventSystem
.
EventSystem
Pojavil se bo inšpektor, zato spustite skript C #, ki ste ga pravkar ustvarili, v spodnjem območju »Dodaj komponento«.
Scenarij je zdaj pripravljen za delo.
Pravzaprav je ta skript mogoče priložiti vsakemu predmetu in Button
ga pritrditi na predmet.
V tem nasvetu bomo dodali, da bo enotno enostavno razumeti EventSystem
.
Button
Seveda ni težav s pritrditvijo na . Vendar pa je bolje, da ga ne pritrdite na popolnoma nepovezan predmet, saj bo to povzročilo zmedo.
Če pogledate skript, ki ste ga dodali, lahko vidite, da je prikazan element "Štetje besedila".
Ko objavite polje na ta način, boste lahko nastavili vrednost iz urejevalnika Unity.
Do predmeta besedila želimo dostopati, ko kliknemo gumb, zato povlecite iz hierarhije Text
in Count Text
ga spustite na .
Tako boste lahko kadar koli dostopali do njega iz skripta.
Nato izberite iz hierarhije Button
in kliknite + pod Ob kliku v inšpektorju Button
.
Nato bo dodan en element.
V spodnjem desnem kotu sem iz hierarhije izpustil priloženi scenarij EventSystem
.
Ker moramo tukaj postaviti predmet, na katerega je priložen scenarij,
Če gumbu priložite skript, morate vključiti gumb.
Če kliknete »Brez funkcije«, se prikaže priloženi skript, zato ButtonClick
izberite .
Izberite način, ki ste ga ustvarili OnClick
v njem.
Zdaj, ko kliknete gumb, OnClick
se metoda imenuje.
Dnevnik izhodov s klikom na gumb
Dnevnik bom prikazal, da potrdim, da deluje. Lahko preverite, ali deluje samo s pisanjem ene vrstice, in bo zelo koristno za prihodnje odpravljanje napak, zato je bolje, da si ga zapomnite.
ButtonClick
Odprite skript in OnClick
dodajte naslednje v .
public void OnClick()
{
// コンソール ログを出力
Debug.Log("ボタンが押されました!");
}
Ko vnesete in shranite, zaženite igro in kliknite gumb.
Vsakič, ko kliknete nanj, se na zavihku konzole prikaže sporočilo. Zdaj lahko vidite, da deluje.
Spreminjanje besedila s klikom gumba
Zdaj, ko lahko premikate gumbe, je namen tega nasveta dosežen. Zdaj, ko sem postavil besedilni predmet, želim spremeniti besedilo vsakič, ko kliknem gumb.
Skript znova napišite na naslednji način.
// 省略
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();
}
}
Vsebina je preprosto povečati število za 1 vsakič, ko kliknete in nastavite številko na besedilni predmet.
Zaženite igro in se prepričajte, da se številka z vsakim klikom poveča.