Menu
CoddyTech

Conduza com as teclas

Parte da seção Noções básicas de scripting no Unity do Journey de Unity da Coddy. Lição 5 de 67.

Input.GetKey(KeyCode.Space) é true em cada quadro enquanto a tecla Espaço estiver pressionada e false caso contrário. Verifique isso em Update() e mova somente quando o resultado for positivo, e o jogador controlará o objeto.

Esta caixa sobe a lift unidades por segundo enquanto a tecla Espaço estiver pressionada. Time.deltaTime mantém a velocidade por segundo, como na última lição:

public float lift = 2f;

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

Cada tecla tem um KeyCode: KeyCode.UpArrow, KeyCode.W, KeyCode.Return e assim por diante. Clique primeiro na visualização do jogo para que as teclas sejam recebidas por ela. Uma observação para o Unity 6: novos projetos usam o novo Input System, e Input.GetKey gera um erro até que Active Input Handling (Project Settings, Player) seja definido como Both.

challenge icon

Desafio

Fácil

Faça o jogador controlar o cubo: enquanto a seta para a direita estiver pressionada, ele se move para a direita (ao longo de +x) a speed unidades por segundo e, enquanto a seta para a esquerda estiver pressionada, ele se move para a esquerda na mesma velocidade. Sem nenhuma tecla pressionada, ele fica parado.

Pressione Play, clique no jogo e experimente as setas; depois, pressione Check.

Experimente você mesmo

using UnityEngine;

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

    void Update()
    {
        // Seta para a direita: move para a direita. Seta para a esquerda: move para a esquerda.
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Noções básicas de scripting no Unity