Nảy
Thuộc phần Dự án trong hành trình Pygame của Coddy. Bài học 12 trên 33.
Quả bóng nảy khỏi mép trên và dưới. Khi chạm vào một mép, hãy đổi dấu của vy: bóng đang đi xuống sẽ chuyển sang đ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, vì vậy đáy bóng lần lượt ở các vị trí 395, 399, 403 và không bao giờ đúng bằng 400.
Mép trái và phải là nơi tính điểm, vì vậy quả bóng không nảy ở đó. Lúc này, 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, đảo dấu
vykhi mép trên của bóng ở mức 0 hoặc thấp hơn. - Đảo dấu biến này khi mép dưới của bóng ở mức 400 hoặc cao hơ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 Dự án
Tự luyện tập: Playground Pygame