Menu
CoddyTech

球

本课属于 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 可以在一行中设置两个变量。

challenge icon

挑战

简单

在 Pong 球桌上放一个移动的球。

  1. 在循环之前,创建 ball = pygame.Rect(293, 193, 14, 14) 和 vx, vy = 5, 4。
  2. 在循环中,将 vx 加到 ball.x 上,并将 vy 加到 ball.y 上。
  3. 填充屏幕后,用黄色 (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 在线编辑器