使用 Pygame Zero 轻松开发游戏
Pygame Zero 通过为您完成大量工作来简化游戏开发。
对于任何涉足游戏开发领域的人来说,编程都是一个令人畏惧的前景。
Python 通常被认为是优秀的编码网关,因为这种语言优先考虑可读性。如果您熟悉 Python,您可能已经注意到这种语言与英语有多么接近。
对于那些更渴望创建而不是花时间编写样板函数的新 Python 程序员来说,Pygame Zero 是一个很好的起点。
什么是 Pygame 零?
Pygame Zero 的创建是为了为新的 Python 程序员提供更简单的游戏编码体验。
Daniel Pope(GitHub 上的“Lord Mauve”)着手为 Python 初学者创建一个无障碍入口。 Pygame 零消除了重新创建最基本的通用代码的需要,因此您可以专注于创建令人惊叹的结果。
使用 Pygame Zero,您可以尝试图像精灵和游戏设计,而不必过多担心底层细节。
安装 Pygame 零
较新的 Linux 发行版和 macOS 版本都包含 Python。根据您运行发行版更新工具的频率,您可能会发现自己使用的是过时的 Python 版本。
首先,确认您安装的 Python 版本:
python3 --version如果您安装了 Python 3,此命令将在命令行上打印确切的版本:
接下来,使用以下命令或替代 PIP 安装方法安装 PIP(Python 包安装程序):
apt install python3-pip # Debian
dnf install python3-pip # Fedora 安装 PIP 后,继续安装 Pygame Zero:
pip3 install pgzero该过程将如下所示:
安装 Pygame Zero 后,您就可以开始创建游戏了。例如,使用 Pygame 模块查看对 NES 经典 Excite Bike 的致敬。
您准备好创建您的第一个游戏了吗?
使用 Pygame 零 创建
有很多很棒的教程、存储库和示例游戏可供您学习或构建。
Pygame GitHub 存储库包含一些很棒的复古游戏示例,可以帮助您入门。拿起 Pong、Tetris、Mines 或 Tron 等经典游戏,陶醉在一些快速的怀旧情绪中,并了解如何使用 Pygame Zero。
要开始 Pygame Zero 入门,请从 GitHub 下载这个最小项目。 Python 代码有详细记录,README.md 文件解释了您需要的依赖项。
查看 intro.py,您将看到一些常见函数,这些函数将帮助您熟悉 Pygame Zero 功能。
功能概述
您可以通过将文件名的基本部分传递给 Actor 类来加载精灵。例如,要加载 images/alien.png 文件:
alien = Actor('alien')draw() 函数告诉计算机在屏幕上绘制什么。通过正确的目录结构中的精灵、声音和代码,您可以避免担心额外的语法。例如,您可以按如下方式显示外星人精灵:
def draw():
screen.clear()
alien.draw()
您可以使用 update() 函数来移动精灵:
def update():
alien.left += 2
if alien.left > WIDTH:
alien.right = 0Pygame 将在每一帧上调用 update() 函数。该代码告诉计算机将外星人精灵向右移动,直到它离开屏幕边缘。此时,它将位置重置为最左侧。重复该过程,直到您关闭窗口或在终端中按 CTRL + C 结束程序。
您可以使用 on_mouse_down() 函数添加有趣的元素。使用此函数可检查与外星人精灵相同位置的鼠标单击情况。打印出合适的响应并更改外星人精灵以显示 alien_hurt.png 图像。
现在您已经有了一个简单但实用的击中目标游戏。使用命令 pgzrun intro.py 运行代码。请记住单击您的外星精灵以获得响应:
您可以查看有关内置 Pygame Zero 对象的文档,以了解 Pygame Zero 的基本概念。
创意灵感
当开始的时候,可能会有很多可能性,以至于很难知道从哪里开始。这里有一些让创意源源不断的想法!
追纸
看看这个带有简笔画的两人横向卷轴游戏的快速演示。
具有精美功能的 2D 平台游戏
这个深入的教程持续大约两个小时。然而,当您准备好超越游戏编程的基础知识时,它是一个很好的指导指南。
通过游戏开发挑战自己
要扩展您的 Python 技能,请尝试使用 Pygame Zero 编写一些基本游戏。
Pygame 文档、YouTube 教程和用户友好指南提供了许多优质资源,可以帮助您完成 Pygame 编码之旅。
在您花时间完善 Python 和 Pygame 技能后,请考虑为开源项目本身做出贡献。您可以在 Pygame Zero GitHub 存储库中找到详细信息。





