Teclas de flecha
Lección 5 de 40 del curso Crea juegos con Pygame de Coddy.
Para mover el cuadrado, guarda su posición en variables y dibújalo allí en cada fotograma. Cambia las variables y el siguiente fotograma mostrará el cuadrado en otro lugar.
pygame.key.get_pressed() te indica qué teclas están pulsadas en este momento. Usa una constante de tecla como índice, por ejemplo pygame.K_RIGHT: el resultado es True mientras esa tecla esté pulsada.
x = 100
while running:
# eventos
keys = pygame.key.get_pressed()
if keys[pygame.K_RIGHT]:
x += 4
# rellena y luego dibuja en xMantén pulsada la tecla derecha y el cuadrado se moverá 4 píxeles en cada fotograma, es decir, 240 píxeles por segundo a 60 fotogramas por segundo. Las teclas de flecha son K_LEFT, K_RIGHT, K_UP y K_DOWN. Arriba significa un valor de y menor.
Crea las variables antes del bucle. Una variable definida dentro del bucle vuelve a empezar en cada fotograma.
Desafío
FácilMueve el cuadrado con las teclas de flecha:
- Antes del bucle, establece
x, y = 220, 160yspeed = 4. - En el bucle, después de los eventos, lee las teclas con
pygame.key.get_pressed(). Cada tecla de flecha que mantengas presionada cambiaxoyenspeed. - Dibuja el cuadrado en
(x, y, 40, 40).
Pruébalo tú mismo
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")
clock = pygame.time.Clock()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (255, 196, 0), (220, 160, 40, 40))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Crea juegos con Pygame
1El ciclo del juego
Abrir una ventanaRellenar el fondoPractica por tu cuenta: Playground de Pygame