🎮 项目:用 Python + Pygame 开发一个小游戏
我们从最基础的“小球移动”开始,逐步升级为一个完整游戏,比如“小球躲避障碍物”“飞机大战”或者“打砖块”。
🧭 第一阶段:创建一个窗口 + 让小球在窗口中移动
📚 第 1 课:创建一个游戏窗口并显示一个小球
✅ 目标功能:
-
创建游戏窗口(800×600)
-
在屏幕中央绘制一个红色小球
-
游戏可以正常关闭
🧱 第一步:初始化 + 创建窗口
python
import pygame
import sys
pygame.init() # 初始化 Pygame
📌 解释:
-
pygame.init()
是所有 pygame 程序的第一步,必须调用它来初始化所有子模块(音效、图像、时间等)。
python
screen = pygame.display.set_mode((800, 600)) # 创建窗口
pygame.display.set_caption("小球游戏") # 设置窗口标题
📌 解释:
-
set_mode((宽, 高))
创建一个指定大小的窗口 -
set_caption("标题")
是设置窗口标题栏的文字
✅ 第二步:设置颜色 + 小球坐标
python
WHITE = (255, 255, 255)
RED = (255, 0, 0)
x, y = 400, 300 # 小球初始坐标(屏幕中心)
📌 解释:
-
颜色用 RGB 表示(三个 0-255 的数字)
-
小球起始位置我们设为窗口中央
✅ 第三步:游戏主循环(显示小球)
python
running = True
while running:
screen.fill(WHITE) # 每次刷新背景为白色
for event in pygame.event.get(): # 监听事件
if event.type == pygame.QUIT:
running = False
pygame.draw.circle(screen, RED, (x, y), 30) # 画一个半径30的红色小球
pygame.display.update() # 更新画面
pygame.quit()
sys.exit()
📌 解释:
-
fill(颜色)
:清空屏幕,用指定颜色填充 -
pygame.draw.circle(...)
:画圆形 -
pygame.display.update()
:刷新窗口内容,必须调用! -
pygame.event.get()
:事件循环,用来处理关闭窗口、按键等 -
pygame.quit()
:退出 pygame -
sys.exit()
:关闭程序
🔥 新增讲解重点
代码片段 | 解释 |
---|---|
pygame.key.get_pressed() | 检查所有键是否被按下 |
keys[pygame.K_LEFT] | 如果左方向键被按下,返回 True |
x -= speed | 小球向左移动(x轴减小) |
Clock().tick(60) | 每秒刷新 60 次,防止小球移动太快 |
✅ 运行这个脚本你应该会看到:
一个 白色背景的窗口,中间有个红色小球,可以点 X 正常关闭程序 ✅