从 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或超出屏幕宽高)

相关推荐
QD.Joker5 小时前
高德MCP服务接入
python
孤客网络科技工作室5 小时前
孤客截图工具 Pro - 从开发到打包的完整指南
python
Q_Q19632884755 小时前
python+django/flask的医院财务管理系统
spring boot·python·django·flask·node.js
AA陈超5 小时前
虚幻引擎5 GAS开发俯视角RPG游戏 P07-11 实现自动运行
c++·游戏·ue5·游戏引擎·虚幻
herogus丶6 小时前
【LLM】LLaMA-Factory 训练模型入门指南
python·ai编程·llama
谏书稀6 小时前
LLaMA Factory微调大模型
python·transformer·llama
雨中散步撒哈拉6 小时前
16、做中学 | 初三上期 Golang面向对象_进阶
爬虫·python·golang
追风少年ii6 小时前
单细胞空间联合分析新贵--iStar
python·数据分析·空间·单细胞
antonytyler8 小时前
机器学习实践项目(二)- 房价预测增强篇 - 特征工程四
人工智能·python·机器学习
gCode Teacher 格码致知8 小时前
Python教学基础:用Python和openpyxl结合Word模板域写入数据-由Deepseek产生
python·word