Inputs
Inputs e Action Mapping
Módulo: PPlay.input_manager | Dificuldade: Intermediário
A Power PPlay 2.0 traz uma revolução na leitura de controles. Em vez de ler as teclas diretamente do hardware, nós mapeamos “Intenções” (Ações), o que facilita a criação de menus de opções e suporte a múltiplos controles.
1. O Método Clássico (Keyboard)
Se você precisa de uma leitura simples, a própria janela já possui os leitores instanciados (Singleton).
| Comando | Quando usar? |
|---|---|
janela.keyboard.key_pressed("SPACE") |
Retorna True enquanto a tecla estiver segurada. Útil para metralhadoras ou andar. |
janela.keyboard.key_down("SPACE") |
Retorna True apenas uma vez no instante do clique. Útil para pulos ou menus. |
2. Action Mapping (Padrão Profissional)
Desacople o seu código. Defina o que a ação significa, e teste a ação em vez da tecla. Isso é idêntico a motores como Unity e Unreal.
from PPlay.input_manager import InputManager
# 1. Configuração (No início do código)
# A ação "atirar" pode ser ativada por J, CONTROL ou o Clique do Mouse
InputManager.define_action("atirar", ["J", "LEFT_CONTROL"])
InputManager.define_action("mover_direita",["RIGHT", "D"])
# 2. No Loop Principal
if InputManager.action_pressed("atirar"):
print("PEW! PEW! Tiro único disparado!")
if InputManager.is_active("mover_direita"):
player.x += 300 * janela.delta_time()