Dois sistemas de entrada
Parte da seção Criando jogos de verdade do Journey de Unity da Coddy. Lição 43 de 56.
O Unity tem duas maneiras de ler o teclado e o mouse. A que você usou até agora é o Input Manager: a classe Input com GetKey, GetAxis e GetButtonDown, e eixos e botões nomeados em Project Settings > Input Manager. A mais recente é o pacote Input System (com.unity.inputsystem). Seus scripts começam com using UnityEngine.InputSystem;, e ele lê os dispositivos como objetos, como Keyboard.current e Mouse.current, e por meio de ações: coisas nomeadas que o jogador faz, como Move e Jump, cada uma associada a teclas, analógicos e botões.
Qual deles um projeto usa é definido nas configurações de Player: Edit > Project Settings > Player > Other Settings > Active Input Handling, com três opções: Input Manager (Old), Input System Package (New) e Both. Um novo projeto do Unity 6 começa com Input System Package (New), e nele toda chamada à classe Input lança uma InvalidOperationException que diz que você está lendo a entrada por meio de UnityEngine.Input enquanto o projeto usa o pacote Input System. É por isso que as lições anteriores pediram que você escolhesse Both. Para mudar essa opção, é necessário reiniciar o editor, e o Unity oferece fazer isso.
O Unity 6 começa com o novo sistema porque uma API abrange teclados, mouses, controles de videogame, telas sensíveis ao toque e controles XR, e porque as ações mantêm as teclas fora do código: um script lê a ação Jump, e a mesma linha funciona para a barra de espaço, o botão A de um controle de videogame ou um botão na tela de um celular, e também para um jogador que remapeia a tecla. O antigo Input Manager continua disponível para projetos mais antigos. A visualização do jogo no Coddy funciona como Both, então as teclas, os cliques e o controle na tela do celular (setas e Jump) chegam aos dois sistemas. O restante deste capítulo usa o Input System.
Experimente você mesmo
Esta lição não inclui um desafio de código.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Criando jogos de verdade
1Texto na tela
Canvas e textoExiba a pontuaçãoFormate númerosUm cronômetro regressivoRevisão: velocímetro4Cenas e Fases
Carregar uma CenaReiniciar a FasePróxima FaseManter entre CenasRevisão: Seleção de Fases10Projeto: Jogo de Plataforma 3D
O PercursoPlataformas Móveis2Botões e telas
Botões e onClickLambdasConectando no InspectorPainéis ligados e desligadosBarras de vidaRevisão: Loja de melhorias5Salvando com PlayerPrefs
Salvar um númeroCarregar com um valor padrãoRecordeSalvar configuraçõesRevisão: Moedas no banco3O Gerenciador do Jogo
Um Script Controla o JogoO SingletonEstados do JogoAlternando o EstadoRevisão: Gerenciador de Rodadas6Projeto: Corredor Infinito
Três FaixasObstáculos à Frente9O Novo Sistema de Entrada
Dois sistemas de entradaTeclado e mousePressionado neste quadroAções de entradaRecapitulação: troca de entrada