🎮 从 Hello World 到游戏世界------pygame 快速入门
用 Python 打开你的第一扇游戏之门
一、前言:为什么要学编程游戏?
很多人学习编程时,总觉得语法、算法太抽象;
但当你能让一个小方块动起来、能控制一个小人物在屏幕中跑动时------
编程不再是冷冰冰的逻辑,而是你创造世界的钥匙。
这篇文章将带你从零开始,
用 Python 的 pygame
库,快速实现一个可以动的小角色。
即便你完全没有游戏开发经验,也能在 10 分钟内"跑起来"!
二、环境准备
1. 安装 pygame
打开命令行(Windows 可用 CMD / PowerShell)输入:
bash
pip install pygame
安装完成后输入以下命令测试是否成功:
bash
python -m pygame.examples.aliens
如果弹出一个小游戏窗口,说明安装成功 🎉
三、第一个游戏窗口
我们先从创建一个最简单的游戏窗口开始。
新建一个 game_hello.py
文件,输入以下代码:
python
import pygame
import sys
# 初始化 pygame
pygame.init()
# 设置窗口大小
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("我的第一个游戏窗口")
# 设置背景颜色(RGB)
background_color = (135, 206, 235) # 天空蓝
# 游戏主循环
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# 填充背景色
screen.fill(background_color)
# 刷新窗口
pygame.display.flip()
💡 运行效果:
你会看到一个 600×400 的蓝色窗口,标题为"我的第一个游戏窗口"。
这就是 pygame 世界的起点!
四、加入主角:绘制角色与移动控制
接下来我们让一个小方块"动起来"。
python
import pygame
import sys
pygame.init()
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("小方块动起来")
# 定义颜色
WHITE = (255, 255, 255)
RED = (255, 0, 0)
# 小方块初始位置
x, y = 300, 200
speed = 5 # 移动速度
clock = pygame.time.Clock()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
keys = pygame.key.get_pressed() # 检测键盘
if keys[pygame.K_LEFT]:
x -= speed
if keys[pygame.K_RIGHT]:
x += speed
if keys[pygame.K_UP]:
y -= speed
if keys[pygame.K_DOWN]:
y += speed
screen.fill(WHITE)
pygame.draw.rect(screen, RED, (x, y, 50, 50)) # 绘制红色方块
pygame.display.flip()
clock.tick(60) # 限制帧率
✅ 运行效果:
使用方向键 ← ↑ → ↓ 控制小方块移动。
这时你就已经拥有了一个最基础的"可操作游戏"!
五、添加图片角色(提升真实感)
我们可以替换方块为图片角色。
把一张角色图片(如 player.png
)放到项目目录下:
python
import pygame
import sys
pygame.init()
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("角色动起来")
background = pygame.image.load("bg.jpg")
player = pygame.image.load("player.png")
x, y = 300, 200
speed = 5
clock = pygame.time.Clock()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= speed
if keys[pygame.K_RIGHT]:
x += speed
if keys[pygame.K_UP]:
y -= speed
if keys[pygame.K_DOWN]:
y += speed
screen.blit(background, (0, 0)) # 背景
screen.blit(player, (x, y)) # 玩家
pygame.display.flip()
clock.tick(60)
💡 提示:
背景图可用 600×400 尺寸的风景图,人物图用透明底 PNG 效果更好。
六、让游戏更有"生命":添加音效
添加音效可以极大提升游戏体验。
pygame 支持播放 .mp3
或 .wav
文件:
python
pygame.mixer.init()
pygame.mixer.music.load("bgm.mp3")
pygame.mixer.music.play(-1) # 循环播放
放在游戏循环外部即可。
七、总结:你学到了什么?
到这里,你已经掌握了:
- ✅ 如何创建 pygame 游戏窗口
- ✅ 如何绘制形状或角色
- ✅ 如何响应键盘事件
- ✅ 如何加载图片与音效
下一篇我们将进入更好玩的部分👇
👉 第2篇:《贪吃蛇进阶之路------从逻辑到AI自动寻路》
届时你将亲手打造一款完整的小游戏!
🔖 推荐阅读
🏁 小挑战
💡 尝试自己加一个边界检测功能:
当小方块移动到窗口边缘时,自动回弹!
(提示:判断
x
与y
是否小于0或超出屏幕宽高)