球
本课属于 Coddy Pygame 学习旅程的“项目”单元。第 11 课,共 33 课。
Pong 由两个挡板和一个球组成。先从球开始:一个会自己移动的小方块。
它的速度有两个部分,一个是每帧横向移动的距离,另一个是向下移动的距离。这就是球的速度,通常称为 vx 和 vy:
ball = pygame.Rect(293, 193, 14, 14)
vx, vy = 5, 4
while running:
# 事件
ball.x += vx
ball.y += vy球同时有这两个速度时,会斜着移动。负数 vx 会让它向左移动,负数 vy 会让它向上移动。之后改变正负号,球就会反弹。
vx, vy = 5, 4 可以在一行中设置两个变量。
挑战
简单在 Pong 球桌上放一个移动的球。
- 在循环之前,创建
ball = pygame.Rect(293, 193, 14, 14)和vx, vy = 5, 4。 - 在循环中,将
vx加到ball.x上,并将vy加到ball.y上。 - 填充屏幕后,用黄色
(255, 196, 0)绘制球。
按“开始”:黄色的球会向右下方飞去。然后按“检查”。
亲手试试
import pygame
pygame.init()
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Pong")
clock = pygame.time.Clock()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((30, 30, 46))
pygame.display.flip()
clock.tick(60)
pygame.quit()
项目中的所有课
自己练习: Pygame 在线编辑器