Memantul
Pelajaran 30 dari 40 dalam kursus Buat Game dengan Pygame di Coddy.
Bola memantul dari tepi atas dan bawah. Saat menyentuh salah satunya, balik tanda vy: gerakan ke bawah berubah 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 bagian bawahnya berada di 395, 399, 403 dan tidak pernah tepat di 400.
Tepi kiri dan kanan adalah tempat poin dicetak, jadi bola tidak memantul di sana. Untuk saat ini, bola terbang keluar.
Tantangan
MudahSetelah menggerakkan bola, ubah tanda 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 Buat Game dengan Pygame
1Perulangan Game
Buka JendelaIsi Latar4Dua Pemain dan Sebuah Bola
BolanyaMemantulLatihan sendiri: Playground Pygame