Dois sistemas de entrada
Parte da seção Criando Jogos de Verdade do Journey de Unity da Coddy. Lição 44 de 60.
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.
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ímetro2Botõ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: Corrida sem Fim
Três FaixasObstáculos à Frente9O Novo Sistema de Entrada
Dois sistemas de entradaTeclado e mousePressionado neste quadroAções de entradaRecapitulação: troca de entradaPratique por conta própria: Playground de Unity