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()