Menu
CoddyTech

Dirige con las teclas

Parte de la sección Fundamentos de scripting en Unity del Journey de Unity de Coddy. Lección 5 de 67.

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 dirige el objeto.

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. Haz clic primero 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 Active Input Handling (en Project Settings, Player) se configura en Both.

challenge icon

Desafío

Fácil

Haz que el jugador dirija el cubo: mientras se mantenga pulsada la flecha derecha, se mueve hacia la derecha (a lo largo de +x) a speed unidades por segundo, y mientras se mantenga pulsada la flecha izquierda, se mueve hacia la izquierda a la misma velocidad. Si no se mantiene pulsada ninguna tecla, se queda quieto.

Pulsa Play, haz clic en el juego y prueba las flechas; después, pulsa Check.

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.
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos de scripting en Unity