Les touches fléchées
Leçon 5 sur 41 du cours Créer des jeux avec Pygame de Coddy.
Pour déplacer le carré, stocke sa position dans des variables et dessine-le à cet endroit à chaque image. Modifie les variables et, à l’image suivante, le carré apparaît ailleurs.
pygame.key.get_pressed() t’indique quelles touches sont actuellement enfoncées. Accède à une touche à l’aide d’une constante, comme pygame.K_RIGHT : le résultat est True tant que cette touche est enfoncée.
x = 100
while running:
# événements
keys = pygame.key.get_pressed()
if keys[pygame.K_RIGHT]:
x += 4
# remplir, puis dessiner à xMaintiens la touche Flèche droite enfoncée et le carré se déplace de 4 pixels à chaque image, soit 240 pixels par seconde à 60 images par seconde. Les touches fléchées sont K_LEFT, K_RIGHT, K_UP et K_DOWN. Vers le haut signifie une valeur de y plus petite.
Déclare les variables avant la boucle. Une variable définie à l’intérieur de la boucle repart de zéro à chaque image. x, y = 100, 50 définit deux noms sur une seule ligne : x reçoit 100 et y reçoit 50.
Défi
FacileDéplace le carré avec les touches fléchées.
- Avant la boucle, définis
x, y = 220, 160etspeed = 4. - Dans la boucle, après les événements, lis
pygame.key.get_pressed(). Chaque touche fléchée maintenue modifiexouydespeed. - Dessine le carré à
(x, y, 40, 40).
Appuie sur « Jouer » et maintiens les touches fléchées enfoncées : le carré se déplace. Puis clique 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()
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()
Toutes les leçons de Créer des jeux avec Pygame
1La boucle de jeu
Ouvrir une fenêtreRemplir l’arrière-planEntraînez-vous par vous-même : Playground Pygame