Nảy
Bài học 30 trên 41 trong khóa học Tạo trò chơi với Pygame của Coddy.
Quả bóng bật khỏi mép trên và mép dưới. Khi chạm vào một mép, hãy đổi dấu của vy: đang đi xuống sẽ chuyển thành đi lên với cùng tốc độ.
if ball.top <= 0 or ball.bottom >= 400:
vy = -vyKiểm tra bằng <= và >=, không dùng ==. Quả bóng di chuyển 4 pixel mỗi khung hình, nên mép dưới lần lượt ở vị trí 395, 399, 403 và không bao giờ chính xác là 400.
Mép trái và mép phải là nơi ghi điểm, nên quả bóng không bật lại ở đó. Tạm thời, bóng bay ra ngoài.
Thử thách
DễCho bóng nảy khỏi cạnh trên và cạnh dưới.
- Sau khi di chuyển bóng, đổi dấu
vykhi cạnh trên của bóng ở mức 0 trở xuống. - Cũng đổi dấu khi cạnh dưới của bóng ở mức 400 trở lên.
Nhấn Chơi: bóng nảy khỏi cạnh dưới. Sau đó nhấn Kiểm tra.
Tự làm thử
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()
Tất cả bài học trong Tạo trò chơi với Pygame
Tự luyện tập: Playground Pygame