Korzystanie z przycisków w interfejsie użytkownika aparatu Unity
Środowisko weryfikacyjne
- Windows
-
- Okna 11
- Edytor aparatu Unity
-
- 2020.3.25f1
Wymagania wstępne dotyczące tej porady
Poniższe ustawienia zostały wcześniej wprowadzone jako warunek objaśnienia tych wskazówek.
Na początku
Przycisk może być używany jako obiekt, który użytkownik klika samodzielnie, lub może być używany do dokonywania wyboru, takiego jak "tak" lub "nie". Jeśli chcesz uzyskać nieco bardziej rozbudowane, możesz użyć przycisku jako obiektu, aby wybrać element listy, taki jak menu.
Oprócz tego może być również używany do celów debugowania i po kliknięciu przycisku w celu dowolnej zmiany stanu.
Kliknij przycisk, aby zmienić tekst
Jeśli po prostu klikniesz przycisk, wykonasz pewne przetwarzanie. Tym razem za każdym razem, gdy klikniesz przycisk, liczba tekstu zwiększy się o 1.
Rozmieszczenie i konfiguracja interfejsu użytkownika
Dodaj tekst i przyciski z hierarchii do widoku.
Możesz umieścić go w dowolnym miejscu, o ile umieścisz go w miejscu, w którym możesz go zobaczyć. Ponieważ trudno jest zobaczyć w stanie początkowym, ustawiane są ustawienia takie jak "biały kolor tekstu", "zmień rozmiar", "zwiększ rozmiar czcionki" itp. Treść tekstu zostanie później zmieniona automatycznie, więc możesz pozostawić go jako "Nowy tekst".
Ustawienie znaków przycisku jest podzielone na "Przycisk" i "Tekst", więc wybierz Tekst i ustaw je.
Dodawanie skryptów
Wybierz folder Sceny z projektu, kliknij prawym przyciskiem myszy puste miejsce, a następnie wybierz pozycję Skrypt języka C#, aby go dodać. Pierwotnie lepiej jest utworzyć skrypt w osobnym folderze, ale pominę go w celu sprawdzenia operacji.
Nazwa pliku powinna być łatwa do zrozumienia. Wprowadź jak najwięcej znaków alfanumerycznych.
ButtonClick
W takim przypadku jest on ustawiony na .
Po utworzeniu kliknij dwukrotnie skrypt języka C#, aby otworzyć edytor skryptów. Jeśli edytor skryptów to Visual Studio, powinno zostać wyświetlone coś takiego:
Start
, Tym razem metoda nie jest potrzebna, więc usuń ją, Update
przepisz i zapisz w następujący sposób.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // 追加
public class ButtonClick : MonoBehaviour
{
<summary>カウントアップするテキストオブジェクト。</summary>
[SerializeField] Text CountText;
public void OnClick()
{
}
}
Składnia C# nie jest głównym tematem tej porady, więc nie będę jej wyjaśniał. Prosimy o naukę we własnym zakresie. Omówione są tylko opisy specyficzne dla aparatu Unity.
MonoBehaviour
Pola zapisane w klasach, które dziedziczą z, będą mogły być ustawiane w edytorze aparatu Unity.
CountText
Tutaj definiujemy obiekt tekstowy o nazwie
Aby został wyświetlony, public
musi zostać opublikowany za pomocą .
SerializeField
Jeśli jednak dodasz atrybut, będziesz public
mógł wyświetlić go w edytorze z ułatwieniami dostępu innymi niż .
Jest to lepszy opis, jeśli nie chcesz uzyskiwać do niego dostępu z innych klas tak często, jak to możliwe, poza celem skonfigurowania go w edytorze.
OnClick
Dostępne są metody opisujące, co należy zrobić po kliknięciu przycisku.
public
Musi to być zdefiniowane w .
Dołączanie z edytora aparatu Unity
Wróć do edytora aparatu Unity i wybierz pozycję z hierarchii EventSystem
.
EventSystem
inspector pojawi się, więc upuść właśnie utworzony skrypt C# w obszarze "Dodaj składnik" poniżej.
Skrypt jest teraz gotowy do pracy.
W rzeczywistości ten skrypt może być dołączony do dowolnego obiektu i Button
powinien być dołączony do obiektu.
W tej wskazówce dodamy do, aby była jednolicie łatwa do zrozumienia EventSystem
.
Button
Oczywiście nie ma problemu z dołączeniem go do . Lepiej jednak nie dołączać go do zupełnie niepowiązanego obiektu, ponieważ spowoduje to zamieszanie.
Jeśli spojrzysz na dodany skrypt, zobaczysz, że wyświetlany jest element "Policz tekst".
Po opublikowaniu pola w ten sposób będzie można ustawić wartość z edytora aparatu Unity.
Chcemy uzyskać dostęp do obiektu tekstowego po kliknięciu przycisku, więc przeciągnij go z hierarchii Text
i Count Text
upuść na .
Umożliwi to dostęp do niego ze skryptu w dowolnym momencie.
Następnie wybierz pozycję z hierarchii Button
i kliknij pozycję + w obszarze Po kliknięciu w Inspektorze Button
.
Następnie zostanie dodany jeden element.
W prawym dolnym elemencie upuściłem skrypt dołączony z EventSystem
hierarchii.
Ponieważ musimy umieścić tutaj obiekt, do którego dołączony jest skrypt,
Jeśli dołączasz skrypt do Buttona, musisz dołączyć Button.
Jeśli klikniesz "Brak funkcji", zostanie wyświetlony załączony skrypt, więc ButtonClick
wybierz .
Wybierz metodę, którą w nim utworzyłeś OnClick
.
Teraz, gdy klikniesz przycisk, metoda zostanie wywołana OnClick
.
Dziennik wyjściowy za pomocą jednego kliknięcia przycisku
Wyprowadzę dziennik, aby potwierdzić, że działa. Możesz sprawdzić, czy działa, pisząc tylko jedną linijkę i będzie to bardzo przydatne do przyszłego debugowania, więc lepiej to zapamiętać.
ButtonClick
Otwórz skrypt i OnClick
dodaj następujące elementy do pliku .
public void OnClick()
{
// コンソール ログを出力
Debug.Log("ボタンが押されました!");
}
Po wejściu i zapisaniu uruchom grę i kliknij przycisk.
Za każdym razem, gdy go klikniesz, na karcie konsoli pojawi się komunikat. Teraz widać, że to działa.
Zmienianie tekstu za pomocą kliknięcia przycisku
Teraz, gdy możesz przesuwać przyciski, cel tej wskazówki został osiągnięty. Teraz, po umieszczeniu obiektu tekstowego, chcę zmieniać tekst za każdym razem, gdy klikam przycisk.
Przepisz skrypt w następujący sposób.
// 省略
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();
}
}
Zawartość polega po prostu na zwiększaniu licznika o 1 za każdym razem, gdy klikniesz i ustawisz liczbę na obiekt tekstowy.
Uruchom grę i upewnij się, że liczba rośnie z każdym kliknięciem.