Teclas de flecha
Lección 5 de 41 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 presionadas en este momento. Indícalo con una constante de tecla, como pygame.K_RIGHT: el resultado es True mientras esa tecla esté presionada.
x = 100
while running:
# eventos
keys = pygame.key.get_pressed()
if keys[pygame.K_RIGHT]:
x += 4
# rellena y luego dibuja en xMantén presionada 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. x, y = 100, 50 asigna valores a dos nombres en una línea: x obtiene 100 e y obtiene 50.
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
pygame.key.get_pressed(). Cada tecla de flecha que mantengas pulsada cambiaxoyenspeed. - Dibuja el cuadrado en
(x, y, 40, 40).
Pulsa «Jugar» y mantén pulsadas las flechas: el cuadrado se mueve. Después, pulsa «Comprobar».
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()
Todas las lecciones de Crea juegos con Pygame
Practica por tu cuenta: Playground de Pygame