Der Korb
Teil des Abschnitts Die Spielschleife der Pygame-Journey von Coddy. Lektion 23 von 32.
Ein neues Spiel: Blöcke fallen von oben herab, und du fängst sie in einem Korb auf. Der Korb und die Blöcke sind Rechtecke, also sind sie pygame.Rects, wie der Edelstein und die Kiste in Gem Hunt.
basket = pygame.Rect(200, 330, 80, 16)Zusätzlich zu basket.x und basket.y kennt ein Rect seine Kanten: basket.left, basket.right, basket.top, basket.bottom und seine Mitte, basket.centerx.
Übergib das Rect direkt an pygame.draw.rect(screen, color, basket). Und es kann sich selbst innerhalb eines anderen Rect halten: basket.clamp_ip(screen.get_rect()) bewegt es zurück ins Fenster, wenn es über eine Kante hinausgeht. screen.get_rect() ist das Rect des Fensters selbst.
Aufgabe
Einfach- Erstelle vor der Schleife
basket = pygame.Rect(200, 330, 80, 16). - Bewege es in der Schleife vor dem Füllen pro Frame um 8 Pixel, solange die linke oder rechte Taste gedrückt gehalten wird, und halte es dann mit
basket.clamp_ip(screen.get_rect())innerhalb des Fensters. - Zeichne es nach dem Füllen blau
(80, 160, 255).
Probier es selbst
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()
Alle Lektionen in Die Spielschleife
Übe selbstständig: Pygame-Playground