Función KEYDOWN en Pygame

Maxim Maeder 21 junio 2023
Función KEYDOWN en Pygame

Este breve tutorial muestra cómo usar KEYDOWN en Pygame.

la función KEYDOWN en Pygame

Usando la función KEYDOWN, captura el momento en que se presionó la tecla, y es una constante. Lo probamos contra los tipos de eventos devueltos por el método pygame.event.get().

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        pygame.quit()
        sys.exit()
    elif event.type == pygame.KEYDOWN:
        # your code
        pass

No habrá salida cuando se mantenga presionada la tecla. Tenemos dos opciones para cambiar eso.

Podemos llamar al método pygame.key.set_repeat(delay) y pasarle el tiempo en milisegundos, después de lo cual el evento debería volver a llamarse si se mantiene pulsado. Luego se disparará después de presionar hacia abajo después de la cantidad de tiempo que especificamos.

No es una buena práctica hacerlo de esta manera, y es mejor usar pygame.key.get_pressed y verificar la clave que se muestra a continuación.

keys = pygame.key.get_pressed()
if keys[pygame.K_w]:
    print("W Pressed")

Código completo:

# Imports
import sys
import pygame

# Configuration
pygame.init()
fps = 60
fpsClock = pygame.time.Clock()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

pygame.key.set_repeat(10)

# Game loop.
while True:
    screen.fill((20, 20, 20))
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        elif event.type == pygame.KEYDOWN:
            # your code
            pass

    keys = pygame.key.get_pressed()
    if keys[pygame.K_w]:
        print("W Pressed")

    pygame.display.flip()
    fpsClock.tick(fps)
Maxim Maeder avatar Maxim Maeder avatar

Hi, my name is Maxim Maeder, I am a young programming enthusiast looking to have fun coding and teaching you some things about programming.

GitHub

Artículo relacionado - Pygame Function