Memantul
Termasuk bagian Proyek dalam perjalanan Pygame di Coddy. Pelajaran 12 dari 31.
Bola memantul dari tepi atas dan bawah. Saat bola menyentuh salah satunya, balik tanda vy: gerakan ke bawah menjadi gerakan ke atas dengan jarak yang sama.
if ball.top <= 0 or ball.bottom >= 400:
vy = -vyUji dengan <= dan >=, bukan ==. Bola bergerak 4 piksel setiap frame, jadi posisi bawahnya menjadi 395, 399, 403 dan tidak pernah tepat 400.
Tepi kiri dan kanan adalah tempat poin dicetak, jadi bola tidak memantul di sana. Untuk sekarang, bola terbang keluar.
Tantangan
MudahSetelah menggerakkan bola, balik vy saat bagian atas bola berada di 0 atau kurang, atau bagian bawahnya di 400 atau lebih.
Coba sendiri
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()
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Proyek
Latihan sendiri: Playground Pygame