Menu
CoddyTech

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, zeichnen

Bei 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.

challenge icon

Aufgabe

Einfach
  1. Erstelle unter dem Korb block = pygame.Rect(220, 0, 20, 20).
  2. Füge in der Schleife nach der Bewegung des Korbs 3 zu block.y hinzu.
  3. 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()
quiz iconTeste dich selbst

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

Übe selbstständig: Pygame-Playground