Menu
CoddyTech

Guida con i tasti

Fa parte della sezione Fondamenti di scripting in Unity del percorso Unity di Coddy. Lezione 5 di 67.

Input.GetKey(KeyCode.Space) è true a ogni frame mentre tieni premuto Space e false altrimenti. Verificalo in Update() e muovi l’oggetto solo quando restituisce sì: così il giocatore può controllarlo.

Questa cassa sale a lift unità al secondo mentre tieni premuto Space. Time.deltaTime mantiene la velocità espressa 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 clic prima sulla visuale di gioco, così i tasti vengono inviati lì. 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.

challenge icon

Sfida

Facile

Fai sterzare il cubo al giocatore: mentre la freccia destra è tenuta premuta, si sposta a destra (lungo +x) a speed unità al secondo, e mentre la freccia sinistra è tenuta premuta, si sposta a sinistra alla stessa velocità. Se non viene tenuto premuto alcun tasto, resta fermo.

Premi Play, fai clic sul gioco e prova le frecce, poi premi Check.

Provalo tu

using UnityEngine;

public class Steering : MonoBehaviour
{
    public float speed = 4f;

    void Update()
    {
        // Freccia destra: sposta a destra. Freccia sinistra: sposta a sinistra.
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti di scripting in Unity