Menu
CoddyTech

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.

challenge icon

Sfida

Facile

Fai sterzare il cubo al giocatore con i tasti freccia.

  1. In Update(), mentre Input.GetKey(KeyCode.RightArrow) è true, aggiungi new Vector3(speed * Time.deltaTime, 0, 0) a transform.position.
  2. Mentre KeyCode.LeftArrow è premuto, sottrai lo stesso Vector3 usando -=.

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

Esercitati da solo: Playground Unity