Menu
CoddyTech

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 x

Manté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.

challenge icon

Desafío

Fácil

Mueve el cuadrado con las teclas de flecha:

  1. Antes del bucle, establece x, y = 220, 160 y speed = 4.
  2. En el bucle, después de los eventos, lee las teclas con pygame.key.get_pressed(). Cada tecla de flecha que mantengas presionada cambia x o y en speed.
  3. 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()
quiz iconPonte a prueba

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

Practica por tu cuenta: Playground de Pygame