Der Korb
Lektion 9 von 40 im Kurs Spiele mit Pygame erstellen von Coddy.
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, und pygame hat dafür eine Klasse: pygame.Rect.
basket = pygame.Rect(200, 330, 80, 16)Ein Rect speichert Position und Größe zusammen, in derselben Reihenfolge wie zuvor: x, y, width, height. Du kannst basket.x und basket.y auslesen und ändern, und es kennt seine Kanten: basket.left, basket.right, basket.top, basket.bottom sowie seine Mitte, basket.centerx.
Übergib das Rect direkt an pygame.draw.rect(screen, color, basket). Außerdem kann es sich 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 Pfeiltaste gedrückt wird, und halte es dann mit
basket.clamp_ip(screen.get_rect())innerhalb des Fensters. - Zeichne es nach dem Füllen in 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()
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Spiele mit Pygame erstellen
2Ereignisse und Kollisionen
Der KorbEin fallender BlockÜbe selbstständig: Pygame-Playground