Esprintar
Lección 6 de 41 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 mientras mantenga pulsada la barra espaciadora.
- 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 pulsada la barra espaciadora.
Pulsa «Jugar» y mantén pulsada la barra espaciadora junto con una flecha: el cuadrado va el doble de rápido. 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()
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()
Todas las lecciones de Crea juegos con Pygame
Practica por tu cuenta: Playground de Pygame