Sistema de Input no Phaser (Keyboard, Mouse, Touch, Gamepad)
Voltar para: Games com Phaser + Reactjs
(Keyboard, Mouse, Touch, Gamepad)
Todo jogo precisa responder às ações do jogador.
Essas ações são chamadas de Input.
No Phaser existe um sistema completo responsável por capturar e processar as interações do jogador com o jogo.
Esse sistema permite que o jogo responda a diversos dispositivos de entrada, como:
- teclado
- mouse
- toque em tela
- controles (gamepads)
Compreender o sistema de input é essencial para criar jogos interativos.
🎯 Objetivos da Lição
Ao final desta aula o aluno será capaz de:
- Entender o que é Input em jogos
- Conhecer os dispositivos suportados pelo Phaser
- Entender como funciona o Keyboard Input
- Compreender Mouse Input
- Entender o funcionamento de Touch Input
- Conhecer suporte a Gamepads
- Entender como eventos de entrada são processados
🧠 O que é Input em jogos
Input é qualquer ação realizada pelo jogador que o jogo consegue detectar.
Exemplos comuns:
- pressionar uma tecla
- clicar com o mouse
- tocar na tela
- mover um joystick
Essas ações permitem que o jogador:
- mova o personagem
- ataque
- pule
- interaja com menus
- controle câmeras
Sem input, um jogo seria apenas uma animação.
⚙️ Sistema de Input no Phaser
O Phaser possui um Input Manager, responsável por:
- detectar dispositivos
- capturar eventos
- enviar eventos para a Scene
- permitir interação com objetos do jogo
Esse sistema funciona integrado ao Game Loop, garantindo respostas rápidas às ações do jogador.
⌨️ Keyboard Input – Entrada por teclado
O teclado é uma das formas mais comuns de interação em jogos para computador.
No Phaser, o sistema de teclado permite detectar:
- teclas pressionadas
- teclas liberadas
- teclas mantidas pressionadas
🎮 Exemplos de uso do teclado
O teclado normalmente controla ações como:
| Tecla | Ação |
|---|---|
| W A S D | movimentação |
| Setas direcionais | movimentação |
| Espaço | pulo |
| Shift | corrida |
| Enter | confirmar |
🧠 Estados das teclas
Uma tecla pode estar em três estados principais:
Pressionada
Quando a tecla acabou de ser pressionada.
Mantida pressionada
Quando o jogador continua segurando a tecla.
Liberada
Quando o jogador solta a tecla.
🎯 Uso do teclado em jogos
O teclado é ideal para:
- jogos de plataforma
- jogos de ação
- jogos de estratégia
- jogos de RPG
Ele oferece controle preciso e rápido.
🖱️ Mouse Input
O mouse é muito utilizado em jogos baseados em interface.
Ele permite detectar:
- cliques
- posição do cursor
- movimento
- rolagem da roda (scroll)
🧠 A posição do mouse
O Phaser pode detectar a posição do mouse dentro da tela.
Isso permite:
- mirar armas
- interagir com botões
- selecionar objetos
- arrastar elementos
🎮 Eventos comuns do mouse
Alguns eventos comuns incluem:
| Evento | Descrição |
|---|---|
| Click | clique do botão |
| Move | movimento do cursor |
| Down | botão pressionado |
| Up | botão liberado |
🧩 Interação com objetos
Objetos do jogo podem se tornar interativos.
Isso permite criar elementos como:
- botões
- menus
- itens clicáveis
- elementos arrastáveis
Esses objetos podem responder a eventos do mouse.
📱 Touch Input – Entrada por toque
Em dispositivos móveis, o principal método de interação é o toque na tela.
O Phaser possui suporte completo para touch input.
Isso permite que jogos funcionem em:
- smartphones
- tablets
- dispositivos híbridos
🧠 Toque funciona de forma semelhante ao mouse
Em muitos casos, o toque é tratado de forma parecida com o clique do mouse.
Eventos comuns:
| Evento | Descrição |
|---|---|
| Touch Start | dedo tocou a tela |
| Touch Move | dedo se moveu |
| Touch End | dedo saiu da tela |
🎮 Uso comum do Touch Input
Touch é usado em jogos como:
- puzzles
- jogos casuais
- jogos educativos
- jogos mobile
Ele permite gestos como:
- tocar
- arrastar
- deslizar
- multi-toque
🎮 Gamepad – Controles de videogame
O Phaser também possui suporte a controles físicos, conhecidos como gamepads.
Exemplos:
- controles USB
- controles Bluetooth
- controles de console
Esses dispositivos possuem:
- botões
- joysticks
- gatilhos
🧠 Estrutura de um Gamepad
Um controle geralmente possui:
- direcional digital (D-Pad)
- analógicos
- botões de ação
- botões superiores
- gatilhos
Esses elementos permitem controle mais preciso em jogos de ação.
🎮 Jogos que usam Gamepad
Gamepads são comuns em:
- jogos de plataforma
- jogos de corrida
- jogos de luta
- jogos de aventura
Eles oferecem uma experiência mais próxima de consoles.
🔄 Fluxo do Input no Phaser
O processamento de input segue um fluxo aproximado.
1 jogador executa ação
2 navegador detecta evento
3 Phaser Input Manager captura evento
4 evento é enviado para a Scene
5 lógica do jogo reage ao evento
Isso acontece extremamente rápido.
Normalmente em menos de 16 milissegundos, mantendo o jogo responsivo.
🧠 Input e Game Loop
O sistema de input funciona integrado ao loop do jogo.
A cada frame o Phaser:
- verifica entradas do jogador
- atualiza o estado das teclas e dispositivos
- envia informações para a lógica do jogo
Isso garante que o jogo responda às ações do jogador em tempo real.
🎮 Input e lógica de jogo
O input normalmente influencia diretamente o comportamento do personagem.
Exemplo conceitual:
se tecla esquerda pressionada
mover personagem para esquerdase tecla direita pressionada
mover personagem para direitase espaço pressionado
personagem pula
Esse tipo de lógica geralmente é executado dentro do update().
🧠 Input e design de jogos
O sistema de input influencia diretamente a experiência do jogador.
Um bom design de controle deve ser:
- intuitivo
- responsivo
- consistente
- confortável
Controles ruins podem arruinar um jogo excelente.
⚙️ Suporte multiplataforma
Uma grande vantagem do Phaser é que o mesmo jogo pode suportar múltiplos tipos de input:
- teclado no computador
- mouse no navegador
- toque no celular
- controle em dispositivos compatíveis
Isso permite criar jogos que funcionam em diversas plataformas com o mesmo código base.
🧠 Conceitos fundamentais fixados
Após esta aula o aluno compreende:
- como o jogador interage com o jogo
- como o Phaser captura eventos
- quais dispositivos de entrada existem
- como eventos influenciam a lógica do jogo
- como criar jogos interativos
🎓 Conclusão
O sistema de input é a ponte entre o jogador e o mundo do jogo.
Sem ele, o jogador não teria controle sobre o que acontece na tela.
No Phaser, o Input Manager permite capturar interações vindas de diversos dispositivos:
Keyboard
controle rápido e preciso para jogos de computador
Mouse
ideal para interfaces e interações visuais
Touch
essencial para jogos mobile
Gamepad
experiência semelhante a consoles
Dominar o sistema de input permite transformar um jogo visual em uma experiência interativa completa.
