Menu
CoddyTech

Abprallen

Teil des Abschnitts Projekte der Pygame-Journey von Coddy. Lektion 12 von 31.

Ein Ball prallt von der oberen und unteren Kante ab. Sobald er eine davon berührt, kehre das Vorzeichen von vy um: Aus einer Bewegung nach unten wird eine Bewegung nach oben um denselben Betrag.

if ball.top <= 0 or ball.bottom >= 400:
    vy = -vy

Teste mit <= und >=, nicht mit ==. Der Ball bewegt sich pro Frame um 4 Pixel, daher durchläuft seine Unterkante die Werte 395, 399, 403 und ist nie genau bei 400.

An der linken und rechten Kante werden Punkte erzielt, daher prallt der Ball dort nicht ab. Vorerst fliegt er hinaus.

challenge icon

Aufgabe

Einfach

Nachdem du den Ball bewegt hast, kehre das Vorzeichen von vy um, wenn die Oberkante des Balls bei 0 oder darunter oder seine Unterkante bei 400 oder darüber liegt.

Probier es selbst

import pygame

pygame.init()
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Pong")
clock = pygame.time.Clock()

ball = pygame.Rect(293, 193, 14, 14)
vx, vy = 5, 4

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    ball.x += vx
    ball.y += vy

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (255, 196, 0), ball)
    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 Projekte

Übe selbstständig: Pygame-Playground