Menu
CoddyTech

Dirige con las teclas

Parte de la sección Fundamentos de scripting en Unity del Journey de Unity de Coddy. Lección 12 de 85.

Input.GetKey(KeyCode.Space) es true en cada fotograma mientras se mantiene pulsada la barra espaciadora y false en caso contrario. Compruébalo en Update() y mueve el objeto solo cuando indique que sí; así, el jugador lo controla.

Esta caja sube a lift unidades por segundo mientras se mantiene pulsada la barra espaciadora. Time.deltaTime mantiene la velocidad por segundo, como en la lección anterior:

public float lift = 2f;

void Update()
{
    if (Input.GetKey(KeyCode.Space))
    {
        transform.position += new Vector3(0, lift * Time.deltaTime, 0);
    }
}

Cada tecla tiene un KeyCode: KeyCode.UpArrow, KeyCode.W, KeyCode.Return, etc. Primero, haz clic en la vista del juego para que las teclas lleguen a ella. Una nota para Unity 6: los proyectos nuevos usan el nuevo Input System, y Input.GetKey genera un error hasta que se establece Active Input Handling (Project Settings, Player) en Both.

challenge icon

Desafío

Fácil

Deja que el jugador dirija el cubo con las teclas de flecha.

  1. En Update(), mientras Input.GetKey(KeyCode.RightArrow) sea verdadero, suma new Vector3(speed * Time.deltaTime, 0, 0) a transform.position.
  2. Mientras se mantenga pulsada KeyCode.LeftArrow, resta el mismo Vector3 con -=.

Pulsa «Jugar», haz clic en el juego y mantén pulsadas las flechas: el cubo se desliza hacia la derecha y la izquierda. Después, pulsa «Comprobar».

Pruébalo tú mismo

using UnityEngine;

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

    void Update()
    {
        // Flecha derecha: mueve a la derecha. Flecha izquierda: mueve a la izquierda.
    }
}

Todas las lecciones de Fundamentos de scripting en Unity

Practica por tu cuenta: Playground de Unity