Menu
CoddyTech

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.

challenge icon

Aufgabe

Einfach
  1. Erstelle vor der Schleife basket = pygame.Rect(200, 330, 80, 16).
  2. 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.
  3. 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