Le panier
Fait partie de la section La boucle de jeu du Journey Pygame de Coddy. Leçon 23 sur 32.
Un nouveau jeu : des blocs tombent du haut et vous les attrapez dans un panier. Le panier et les blocs sont des rectangles, ce sont donc des pygame.Rect, comme la gemme et la caisse dans Gem Hunt.
basket = pygame.Rect(200, 330, 80, 16)En plus de basket.x et de basket.y, un Rect connaît ses bords : basket.left, basket.right, basket.top, basket.bottom et son centre, basket.centerx.
Passez directement le Rect à pygame.draw.rect(screen, color, basket). Il peut aussi se maintenir à l’intérieur d’un autre Rect : basket.clamp_ip(screen.get_rect()) le ramène à l’intérieur de la fenêtre lorsqu’il dépasse un bord. screen.get_rect() est le Rect propre à la fenêtre.
Défi
Facile- Avant la boucle, créez
basket = pygame.Rect(200, 330, 80, 16). - Dans la boucle, avant le remplissage, déplacez-le de 8 pixels par image lorsque la touche Gauche ou Droite est maintenue, puis gardez-le dans la fenêtre avec
basket.clamp_ip(screen.get_rect()). - Après le remplissage, dessinez-le en bleu
(80, 160, 255).
Essayez vous-même
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Catch the Blocks")
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.display.flip()
clock.tick(60)
pygame.quit()
Toutes les leçons de La boucle de jeu
1Déplacer un carré
Ouvrir une fenêtreRemplir l’arrière-plan4Déplacement en fonction du temps
Temps deltaPixels par secondeVector2Accélération et frictionBoucler autour de l’écranEntraînez-vous par vous-même : Playground Pygame