Mygtukų naudojimas "Unity" vartotojo sąsajoje
Tikrinimo aplinka
- Windows
-
- Langai 11
- "Unity" redaktorius
-
- 2020.3.25f1
Būtinos šio patarimo sąlygos
Šie nustatymai buvo atlikti iš anksto, kaip būtina sąlyga šiems patarimams paaiškinti.
Iš pradžių
Mygtukas gali būti naudojamas kaip objektas, kurį vartotojas spusteli pats, arba jis gali būti naudojamas norint pasirinkti, pvz., "Taip" arba "Ne". Jei norite šiek tiek išsamiau paaiškinti, galite naudoti mygtuką kaip objektą, kad pasirinktumėte sąrašo elementą, pvz., meniu.
Be to, jis taip pat gali būti naudojamas derinimo tikslais ir spustelėjus mygtuką, kad savavališkai pakeistumėte būseną.
Spustelėkite mygtuką, kad pakeistumėte tekstą
Jei tiesiog spustelėsite mygtuką, atliksite tam tikrą apdorojimą. Šį kartą kiekvieną kartą spustelėjus mygtuką, teksto numeris padidės 1.
Vartotojo sąsajos išdėstymas ir konfigūravimas
Įtraukite tekstą ir mygtukus iš hierarchijos į rodinį.
Galite įdėti jį bet kur, jei tik įdėsite į vietą, kur galite jį pamatyti. Kadangi pradinėje būsenoje sunku pamatyti, nustatomi tokie nustatymai kaip "balto teksto spalva", "keisti dydį", "padidinti šrifto dydį" ir kt. Teksto turinys vėliau bus automatiškai pakeistas, todėl galėsite palikti jį kaip "Naujas tekstas".
Mygtuko simbolių nustatymas yra padalintas į "Mygtukas" ir "Tekstas", todėl pasirinkite Tekstas ir nustatykite jį.
Scenarijų pridėjimas
Pasirinkite aplanką Scenos iš savo projekto, dešiniuoju pelės mygtuku spustelėkite tuščią vietą ir pasirinkite C# Script, kad jį pridėtumėte. Iš pradžių geriau sukurti scenarijų atskirame aplanke, tačiau aš jį praleisiu, kad patikrinčiau operaciją.
Failo pavadinimas turėtų būti lengvai suprantamas. Įveskite kuo daugiau raidinių ir skaitinių simbolių.
ButtonClick
Tokiu atveju jis nustatytas į .
Sukūrę dukart spustelėkite scenarijų C#, kad atidarytumėte scenarijų rengyklę. Jei jūsų scenarijų rengyklė yra "Visual Studio", turėtumėte matyti kažką panašaus:
Start
, Šį kartą metodas nereikalingas, todėl ištrinkite jį, Update
perrašykite ir išsaugokite taip.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // 追加
public class ButtonClick : MonoBehaviour
{
<summary>カウントアップするテキストオブジェクト。</summary>
[SerializeField] Text CountText;
public void OnClick()
{
}
}
C# sintaksė nėra pagrindinė šio patarimo tema, todėl jos nepaaiškinsiu. Prašome mokytis savarankiškai. Aptariami tik su Vienybe susiję aprašymai.
MonoBehaviour
Laukus, parašytus klasėse, iš kurių paveldima, bus galima nustatyti "Unity" redaktoriuje.
CountText
Čia mes apibrėžiame teksto objektą, vadinamą
Kad jis būtų rodomas, jis public
turi būti paskelbtas su .
SerializeField
Tačiau jei pridėsite atributą, public
galėsite jį rodyti redaktoriuje su kitu pritaikymu neįgaliesiems nei .
Tai geresnis aprašymas, jei nenorite jo kuo labiau pasiekti iš kitų klasių, išskyrus tai, kad norite jį nustatyti redaktoriuje.
OnClick
Pateikiami metodai, apibūdinantys, ką daryti spustelėjus mygtuką.
public
Tai turi būti apibrėžta .
Pridedama iš "Unity" redaktoriaus
Grįžkite į "Unity" rengyklę ir pasirinkite iš hierarchijos EventSystem
.
EventSystem
pasirodys inspektorius, todėl numeskite ką tik sukurtą C# scenarijų žemiau esančioje srityje "Pridėti komponentą".
Scenarijus dabar paruoštas darbui.
Tiesą sakant, šis scenarijus gali būti pritvirtintas prie bet kurio objekto ir Button
turėtų būti pritvirtintas prie objekto.
Šiame patarime mes pridėsime, kad būtų vienodai lengva suprasti EventSystem
.
Button
Žinoma, nėra jokių problemų jį pritvirtinti prie . Tačiau geriau ne prijungti jį prie visiškai nesusijusio objekto, nes tai sukels painiavą.
Jei pažvelgsite į pridėtą scenarijų, matote, kad rodomas elementas "Skaičiuoti tekstą".
Tokiu būdu paskelbę lauką, galėsite nustatyti reikšmę naudodami "Unity" rengyklę.
Norime pasiekti teksto objektą, kai spustelėjame mygtuką, todėl vilkite iš hierarchijos Text
ir Count Text
numeskite jį .
Tai leis jums bet kada pasiekti jį iš savo scenarijaus.
Tada pasirinkite iš hierarchijos Button
ir spustelėkite + po Inspektoriaus Button
spustelėjimu .
Tada bus pridėtas vienas elementas.
Apatiniame dešiniajame elemente numečiau scenarijų, pridėtą prie EventSystem
hierarchijos.
Kadangi čia turime įdėti objektą, prie kurio pridedamas scenarijus,
Jei prie mygtuko pridedate scenarijų, turite įtraukti mygtuką.
Jei spustelėsite "Nėra funkcijos", bus rodomas pridėtas scenarijus, todėl ButtonClick
pasirinkite .
Pasirinkite jame sukurtą OnClick
metodą.
Dabar, kai spustelėsite mygtuką, OnClick
metodas vadinamas.
Išvesties žurnalas vienu mygtuko paspaudimu
Išvesiu žurnalą, kad patvirtinčiau, jog jis veikia. Galite patikrinti, ar jis veikia tik rašydami vieną eilutę, ir tai bus labai naudinga būsimam derinimui, todėl geriau jį prisiminti.
ButtonClick
Atidarykite scenarijų ir OnClick
įtraukite toliau pateiktą informaciją į .
public void OnClick()
{
// コンソール ログを出力
Debug.Log("ボタンが押されました!");
}
Įvedę ir išsaugoję, paleiskite žaidimą ir spustelėkite mygtuką.
Kiekvieną kartą spustelėjus jį, konsolės skirtuke pasirodo pranešimas. Dabar matote, kad jis veikia.
Teksto keitimas vienu mygtuko paspaudimu
Dabar, kai galite perkelti mygtukus, šio patarimo tikslas buvo pasiektas. Dabar, kai įdėjau teksto objektą, noriu pakeisti tekstą kiekvieną kartą, kai spusteliu mygtuką.
Perrašykite scenarijų taip.
// 省略
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();
}
}
Turinys yra tiesiog padidinti skaičių 1 kiekvieną kartą, kai spustelėsite ir nustatysite skaičių į teksto objektą.
Paleiskite žaidimą ir įsitikinkite, kad skaičius didėja su kiekvienu paspaudimu.