Pulsanti con nome
Fa parte della sezione Fondamenti di scripting in Unity del percorso Unity di Coddy. Lezione 21 di 85.
Oltre ai tasti, Unity ha i pulsanti: nomi elencati in Input Manager (Edit, Project Settings, Input Manager), ciascuno associato a uno o più tasti. Input.GetButtonDown("Fire1") chiede informazioni sul nome, non su un tasto. Un nuovo progetto li include:
"Jump": barra spaziatrice"Fire1": Ctrl sinistro o pulsante sinistro del mouse"Fire2": Alt sinistro o pulsante destro del mouse"Submit"e"Cancel": Invio ed Esc
I pulsanti del gamepad sono associati agli stessi nomi, e i tasti possono essere modificati in Input Manager senza toccare il codice. GetButton, GetButtonDown e GetButtonUp funzionano come GetKey, GetKeyDown e GetKeyUp. Questo blaster registra uno sparo per ogni pressione di Ctrl o clic:
void Update()
{
if (Input.GetButtonDown("Fire1"))
{
Debug.Log("Shot!");
}
}Il nome è una stringa, quindi un nome scritto in modo errato viene comunque compilato. Unity lo cerca quando viene eseguita la riga e, se nessun pulsante ha quel nome, genera un errore a ogni frame: ArgumentException: Input Button Fier1 is not setup. Quando visualizzi questo messaggio, confronta il nome nel codice con l'elenco di Input Manager.
Sfida
FacileCorreggi il salto della rana e falla atterrare di nuovo.
- Premi «Gioca»: la Console mostra un errore relativo al pulsante
"Jumpp". Modificalo in"Jump". - Aggiungi un secondo
ifsuInput.GetButtonUp("Jump")che sottragganew Vector3(0, hop, 0)datransform.position.
Premi «Gioca», tieni premuta la barra spaziatrice e rilasciala: la rana salta in alto, poi atterra. Poi premi «Verifica».
Provalo tu
using UnityEngine;
public class Hopper : MonoBehaviour
{
public float hop = 1.5f;
void Update()
{
if (Input.GetButtonDown("Jumpp"))
{
transform.position += new Vector3(0, hop, 0);
}
}
}
Tutte le lezioni di Fondamenti di scripting in Unity
1Nozioni di base di C# in Unity
Ciao, UnityVariabiliI numeri decimali richiedono una fTesto nella ConsoleVariabili che ricordanoIf ed ElseConfrontare i numeriRipasso: il collezionista di monete7Cicli e metodi
Ripeti con forCicli annidatiScrivere un metodoMetodi che restituiscono valoriArrayRiepilogo: scala10Trovare gli oggetti
Trovare per nomeTagTrovare per tipoI riferimenti battono la ricercaIl null di UnityRipasso: la moneta più vicina13Progetto: Schiva i blocchi
Il corridoreBlocchi dal cielo2Fallo muovere
Posiziona il cuboMuovilo a ogni frameRuotalo ogni secondoGuidalo con i tastiRiepilogo: guida il cubo5Vettori
Somma di vettoriDirezioniSpazio locale e spazio mondoVelocità diagonaleDistanza tra gli oggettiVector3 è una structRiepilogo: pilota di droni8GameObject e componenti
Riferimenti nell'InspectorOttenere un componenteComponenti mancantiAggiungere un componenteRequireComponentMostrare e nascondereRiepilogo: interruttore della luce3L’Inspector
Campi dell’InspectorSerializeFieldNumeri decimali e MathfAttributi dell’InspectorRiepilogo: ascensore6Trasformazioni e gerarchia
Genitori e figliIssare la bandieraScalaOsservare gli oggettiMuoversi verso un puntoRiepilogo: Luna in orbita9Progetto: Acchiappa la stella
Il raccoglitoreUna stella cadente12Il ciclo di vita dello script
Awake e StartUpdate e LateUpdateOnEnable e OnDisableL'ordine del ciclo di vitaRiepilogo: Lifecycle LoggerEsercitati da solo: Playground Unity