Ein fallender Block
Lektion 10 von 40 im Kurs Spiele mit Pygame erstellen von Coddy.
Etwas, das fällt, ist etwas, dessen y-Wert in jedem Frame zunimmt. Mach den Block ebenfalls zu einem Rect und addiere bei jedem Durchlauf der Schleife etwas zu seinem y-Wert:
block = pygame.Rect(220, 0, 20, 20)
while running:
# Ereignisse und Tasten
block.y += 3
# füllen, zeichnenBei 60 Frames pro Sekunde entsprechen 3 Pixel pro Frame 180 Pixeln pro Sekunde. Das Fenster ist 360 Pixel hoch, also braucht der Block zwei Sekunden, um den unteren Rand zu erreichen.
Der Block fällt weiter, nachdem er das Fenster verlassen hat. Noch hält ihn nichts auf; die nächste Lektion bringt ihn zurück.
Aufgabe
Einfach- Erstelle unter dem Korb
block = pygame.Rect(220, 0, 20, 20). - Füge in der Schleife nach der Bewegung des Korbs 3 zu
block.yhinzu. - Zeichne den Block nach dem Korb in Rot
(235, 80, 80).
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()
basket = pygame.Rect(200, 330, 80, 16)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
basket.x -= 8
if keys[pygame.K_RIGHT]:
basket.x += 8
basket.clamp_ip(screen.get_rect())
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (80, 160, 255), basket)
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