从 Hello World 到游戏世界——pygame 快速入门

🎮 从 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自动寻路》

届时你将亲手打造一款完整的小游戏!


🔖 推荐阅读


🏁 小挑战

💡 尝试自己加一个边界检测功能:

当小方块移动到窗口边缘时,自动回弹!

(提示:判断 xy 是否小于0或超出屏幕宽高)

相关推荐
两万五千个小时8 小时前
落地实现 Anthropic Multi-Agent Research System
人工智能·python·架构
哈里谢顿10 小时前
Python 高并发服务限流终极方案:从原理到生产落地(2026 实战指南)
python
用户8356290780511 天前
无需 Office:Python 批量转换 PPT 为图片
后端·python
markfeng81 天前
Python+Django+H5+MySQL项目搭建
python·django
GinoWi1 天前
Chapter 2 - Python中的变量和简单的数据类型
python
JordanHaidee1 天前
Python 中 `if x:` 到底在判断什么?
后端·python
ServBay1 天前
10分钟彻底终结冗长代码,Python f-string 让你重获编程自由
后端·python
闲云一鹤1 天前
Python 入门(二)- 使用 FastAPI 快速生成后端 API 接口
python·fastapi
Rockbean1 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
曲幽1 天前
FastAPI + Ollama 实战:搭一个能查天气的AI助手
python·ai·lora·torch·fastapi·web·model·ollama·weatherapi