Manipulando Inputs (teclado e mouse)
Introdução: Input
Um input classifica uma entrada do teclado (pressionar uma tecla) ou do mouse (pressionar um botão).
Para que funcione corretamente, é necessário também estar dentro de um loop infinito que checa a cada frame se ocorreu algum evento (ou input).
Cabe ressaltar que a Window é quem recebe os inputs, logo, deve ser criada antes.
Receber Inputs de Teclado
# Não precisamos importar o módulo keyboard pois ele já está contido em window.
from PPlay.window import *
# Cria a janela para receber inputs (PRIMEIRA COISA SEMPRE)
janela = Window(200, 200)
# Associar uma variável à instância de teclado contida em Window
teclado = Window.get_keyboard() # Função da CLASSE e não da instância! W maiúsculo!
# Loop que apenas checa se tem alguma tecla pressionada no frame atual
while True:
if teclado.key_pressed("UP"): # Direcional ^
print("Cima!")
if teclado.key_pressed("DOWN"): # Direcional \/
print("Baixo!")
if teclado.key_pressed("LEFT"): # Direcional <-
print("Direita!")
if teclado.key_pressed("ESC"): # Esc, escape..
janela.close() # Fecha o programa
# O janela.update() deve ser chamado TODO Loop incondicionalmente!
janela.update()
Para consultar os nomes das teclas mapeadas, veja a classe Keyboard.
Receber Inputs do Mouse
# A lógica para o mouse é muito parecida:
from PPlay.window import *
# Também já contém o módulo mouse nela
janela = Window(200, 200)
mouse = Window.get_mouse()
while True:
if mouse.is_button_pressed(1): # 1 é o botão da esquerda
print("Esquerda!")
print(mouse.get_position()) # função que retorna a posição (X,Y) do mouse
if mouse.is_button_pressed(2):
print("Meio!")
if mouse.is_button_pressed(3):
print("Direita!")
janela.update()
Para consultar outras funções do mouse (is_over_object(obj), por exemplo), veja a classe Mouse.
Créditos do Tutorial: Gabriel Saldanha