Guidalo con i tasti
Fa parte della sezione Fondamenti di scripting in Unity del percorso Unity di Coddy. Lezione 12 di 85.
Input.GetKey(KeyCode.Space) è true a ogni frame mentre tieni premuta la barra spaziatrice, e false altrimenti. Controlla questa condizione in Update() e muovi l’oggetto solo quando è vera: sarà il giocatore a controllarlo.
Questa cassa sale a una velocità di lift unità al secondo mentre tieni premuta la barra spaziatrice. Time.deltaTime mantiene costante la velocità al secondo, come nella lezione precedente:
public float lift = 2f;
void Update()
{
if (Input.GetKey(KeyCode.Space))
{
transform.position += new Vector3(0, lift * Time.deltaTime, 0);
}
}Ogni tasto ha un KeyCode: KeyCode.UpArrow, KeyCode.W, KeyCode.Return e così via. Fai prima clic sulla visuale del gioco, così i tasti vengono ricevuti. Una nota per Unity 6: i nuovi progetti usano il nuovo Input System e Input.GetKey genera un errore finché Active Input Handling (Project Settings, Player) non è impostato su Both.
Sfida
FacileFai sterzare il cubo al giocatore con i tasti freccia.
- In
Update(), mentreInput.GetKey(KeyCode.RightArrow)è true, aggiunginew Vector3(speed * Time.deltaTime, 0, 0)atransform.position. - Mentre
KeyCode.LeftArrowè premuto, sottrai lo stessoVector3usando-=.
Premi «Gioca», fai clic sul gioco e tieni premuti i tasti freccia: il cubo scivola a destra e a sinistra. Poi premi «Verifica».
Provalo tu
using UnityEngine;
public class Steering : MonoBehaviour
{
public float speed = 4f;
void Update()
{
// Freccia destra: sposta a destra. Freccia sinistra: sposta a sinistra.
}
}
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