Sprinter
Leçon 6 sur 41 du cours Créer des jeux avec Pygame de Coddy.
Une variable peut changer à chaque image, en fonction des actions du joueur. Ici, la vitesse dépend du fait que la barre d’espace soit maintenue enfoncée ou non.
keys = pygame.key.get_pressed()
speed = 4
if keys[pygame.K_SPACE]:
speed = 8Chaque image commence avec la vitesse normale, 4. Seule une image où la barre d’espace est enfoncée la fait passer à 8. Relâchez la barre d’espace et, à l’image suivante, la vitesse revient à 4.
Définissez d’abord la valeur normale, puis la valeur spéciale. Dans l’ordre inverse, la deuxième ligne l’emporte toujours et la barre d’espace ne fait rien.
Défi
FacileFais sprinter le joueur tant que la barre d’espace est maintenue enfoncée.
- Supprime
speed = 4au-dessus de la boucle. - Dans la boucle, juste après
keys = pygame.key.get_pressed(), définisspeed = 4, puis définis sa valeur à8si la barre d’espace est maintenue enfoncée.
Appuie sur « Jouer » et maintiens la barre d’espace avec une flèche : le carré se déplace deux fois plus vite. Puis appuie sur « Vérifier ».
Essayez vous-même
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()
Toutes les leçons de Créer des jeux avec Pygame
Entraînez-vous par vous-même : Playground Pygame