Uso dei pulsanti nell'interfaccia utente di Unity
Ambiente di verifica
- Finestre
-
- finestre 11
- Unity Editor
-
- 2020.3.25f1
Prerequisiti per questo suggerimento
Le seguenti impostazioni sono state effettuate in anticipo come prerequisito per la spiegazione di questi suggerimenti.
Dapprima
Un pulsante può essere utilizzato come oggetto su cui l'utente fa clic da solo oppure può essere utilizzato per effettuare una scelta, ad esempio "sì" o "no". Se si desidera essere un po' più elaborati, è possibile utilizzare un pulsante come oggetto per selezionare una voce di elenco, ad esempio un menu.
Oltre a questo, può anche essere utilizzato per scopi di debug e quando si fa clic su un pulsante per modificare lo stato in modo arbitrario.
Fare clic sul pulsante per modificare il testo
Se fai semplicemente clic sul pulsante, eseguirai un'elaborazione. Questa volta, ogni volta che si fa clic sul pulsante, il numero di testo aumenterà di 1.
Posizionamento e configurazione dell'interfaccia utente
Aggiungere testo e pulsanti dalla gerarchia alla vista.
Puoi posizionarlo ovunque purché lo metti in un posto dove puoi vederlo. Poiché è difficile da vedere nello stato iniziale, vengono impostate impostazioni come "colore del testo bianco", "cambia dimensione", "aumenta la dimensione del carattere", ecc. Il contenuto del testo verrà modificato automaticamente in un secondo momento, quindi è possibile lasciarlo come "Nuovo testo".
L'impostazione del carattere del pulsante è divisa in "Pulsante" e "Testo", quindi seleziona Testo e impostalo.
Aggiunta di script
Selezionare la cartella Scene dal progetto, fare clic con il pulsante destro del mouse su uno spazio vuoto e scegliere Script C# per aggiungerla. Originariamente, è meglio creare lo script in una cartella separata, ma lo ometterò allo scopo di controllare l'operazione.
Il nome del file dovrebbe essere facile da capire. Immettere il maggior numero possibile di caratteri alfanumerici.
ButtonClick
In questo caso, è impostato su .
Una volta creato, fare doppio clic sullo script C# per aprire l'editor di script. Se l'editor di script è Visual Studio, dovrebbe essere visualizzato qualcosa di simile al seguente:
Start
, Questa volta il metodo non è necessario, quindi eliminalo, Update
riscrivilo e salvalo come segue.
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 sintassi di C# non è l'argomento principale di questo suggerimento, quindi non lo spiegherò. Si prega di studiare per conto proprio. Vengono discusse solo le descrizioni specifiche di Unity.
MonoBehaviour
I campi scritti nelle classi da cui ereditano potranno essere impostati nell'editor di Unity.
CountText
Qui definiamo un oggetto di testo chiamato
Per poter essere visualizzato, deve public
essere pubblicato con .
SerializeField
Tuttavia, se si aggiunge l'attributo, sarà public
possibile visualizzarlo nell'editor con accessibilità diversa da .
Questa è una descrizione migliore se non si desidera accedervi il più possibile da altre classi se non allo scopo di impostarla nell'editor.
OnClick
Vengono forniti metodi per descrivere cosa fare quando si fa clic su un pulsante.
public
Questo deve essere definito in .
Collegamento dall'editor di Unity
Tornare all'editor di Unity e selezionare una casella di controllo dalla gerarchia EventSystem
.
EventSystem
verrà visualizzato inspector, quindi rilascia lo script C# appena creato nell'area "Aggiungi componente" di seguito.
Lo script è ora pronto per funzionare.
In effetti, questo script può essere associato a qualsiasi oggetto e Button
dovrebbe essere collegato all'oggetto.
In questo suggerimento, aggiungeremo a per renderlo uniformemente facile da capire EventSystem
.
Button
Naturalmente, non c'è alcun problema con il collegamento a . Tuttavia, è meglio non attaccarlo a un oggetto completamente non correlato, poiché causerebbe confusione.
Se guardi lo script che hai aggiunto, puoi vedere che viene visualizzata la voce "Conteggio testo".
Dopo aver pubblicato un campo in questo modo, sarà possibile impostare il valore dall'editor di Unity.
Vogliamo accedere all'oggetto di testo quando facciamo clic sul pulsante, quindi trascinalo dalla gerarchia Text
e Count Text
rilascialo su .
Ciò ti consentirà di accedervi dal tuo script in qualsiasi momento.
Quindi, seleziona dalla gerarchia Button
e fai clic su + in Al clic nell'Inspector Button
.
Quindi verrà aggiunto un elemento.
Nell'elemento in basso a destra, ho eliminato uno script allegato dalla EventSystem
gerarchia.
Dal momento che abbiamo bisogno di mettere l'oggetto a cui è allegato lo script qui,
Se si allega uno script a un oggetto Button, è necessario includere un oggetto Button.
Se si fa clic su "Nessuna funzione", verrà visualizzato lo script allegato, quindi ButtonClick
selezionare .
Seleziona il metodo che hai creato OnClick
al suo interno.
A questo punto, quando si fa clic sul pulsante, viene chiamato il OnClick
metodo.
Output del registro con il clic di un pulsante
Verrà visualizzato il registro per confermare che funziona. Puoi verificare che funzioni solo scrivendo una riga e sarà molto utile per il debug futuro, quindi è meglio ricordarlo.
ButtonClick
Aprire lo script e OnClick
aggiungere quanto segue a .
public void OnClick()
{
// コンソール ログを出力
Debug.Log("ボタンが押されました!");
}
Una volta entrato e salvato, esegui il gioco e fai clic sul pulsante.
Ogni volta che si fa clic su di esso, viene visualizzato un messaggio nella scheda della console. Ora puoi vedere che funziona.
Modificare il testo con un clic del pulsante
Ora che puoi spostare i pulsanti, lo scopo di questo suggerimento è stato raggiunto. Ora che ho posizionato l'oggetto di testo, voglio cambiare il testo ogni volta che faccio clic sul pulsante.
Riscrivere lo script come indicato di seguito.
// 省略
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();
}
}
Il contenuto consiste semplicemente nell'incrementare il conteggio di 1 ogni volta che si fa clic e si imposta il numero sull'oggetto di testo.
Esegui il gioco e assicurati che il numero aumenti ad ogni clic.