Correr a toda velocidad
Lección 6 de 40 del curso Crea juegos con Pygame de Coddy.
Una variable puede cambiar en cada fotograma, dependiendo de lo que haga el jugador. Aquí, la velocidad depende de si se mantiene presionada la tecla Espacio.
keys = pygame.key.get_pressed()
speed = 4
if keys[pygame.K_SPACE]:
speed = 8Cada fotograma empieza con la velocidad normal, 4. Solo un fotograma en el que se mantenga presionada la tecla Espacio la aumenta a 8. Suelta la tecla Espacio y el siguiente fotograma vuelve a 4.
Establece primero el valor normal y después el especial. En el orden contrario, la segunda línea siempre prevalece y la tecla Espacio no hace nada.
Desafío
FácilHaz que el jugador corra:
- Elimina
speed = 4de antes del bucle. - En el bucle, justo después de
keys = pygame.key.get_pressed(), establecespeed = 4y luego establécelo en8si se mantiene presionada la barra espaciadora.
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()
x, y = 220, 160
speed = 4
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= speed
if keys[pygame.K_RIGHT]:
x += speed
if keys[pygame.K_UP]:
y -= speed
if keys[pygame.K_DOWN]:
y += speed
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (255, 196, 0), (x, y, 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