Abprallen
Lektion 30 von 40 im Kurs Spiele mit Pygame erstellen von Coddy.
Ein Ball prallt an der oberen und unteren Kante ab. Sobald er eine davon berührt, kehre das Vorzeichen von vy um: Aus der Bewegung nach unten wird eine Bewegung nach oben um denselben Betrag.
if ball.top <= 0 or ball.bottom >= 400:
vy = -vyTeste mit <= und >=, nicht mit ==. Der Ball bewegt sich pro Frame um 4 Pixel, daher nimmt seine Unterkante die Werte 395, 399, 403 an und ist niemals genau bei 400.
An der linken und rechten Kante werden Punkte erzielt, deshalb prallt der Ball dort nicht ab. Vorerst fliegt er hinaus.
Aufgabe
EinfachNachdem du den Ball bewegt hast, kehre vy um, wenn die Oberkante des Balls bei 0 oder darunter liegt oder seine Unterkante bei 400 oder darüber.
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()
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
1Die Spielschleife
Ein Fenster öffnenDen Hintergrund füllen4Zwei Spieler und ein Ball
Der BallAbprallenÜbe selbstständig: Pygame-Playground