Pygame 是一个免费的开源跨平台库,用于使用 Python 开发视频游戏等多媒体应用程序。它使用 Simple DirectMedia Layer 库和其他几个流行的库来抽象最常见的功能,使编写这些程序成为一项更直观的任务。
我们需要您的帮助,让 pygame 成为最好的!欢迎新的贡献者。
在安装 pygame 之前,您必须检查您的计算机上是否安装了 Python。要找到答案,请打开命令提示符(如果您使用的是 Windows)或终端(如果您使用的是 MacOS 或 Linux)并输入以下内容:
蟒蛇——版本
如果出现“Python 3.8.10”等信息,则说明Python安装正确。如果出现错误信息,则表示尚未安装。然后你必须去官方网站下载它。
安装 Python 后,您必须执行最后的检查:您必须查看 pip 是否已安装。一般来说,pip 是预装 Python 的,但我们不确定。与 Python 相同,键入以下命令:
点--版本
如果出现诸如“pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)”之类的消息,则表明您已准备好安装 pygame!要安装它,请输入以下命令:
pip 安装 pygame
安装 pygame 后,通过输入以下命令快速测试您的库,该命令将打开预安装的众多示例游戏之一:
python3 -m pygame.examples.aliens
如果这不起作用,官方网站的入门部分提供了有关平台特定问题的更多信息,例如将 python 添加到计算机的 PATH 设置
如果你刚刚开始使用 pygame,你应该能够相当快地上手。 Pygame 附带了许多教程和介绍。还有整个库的完整参考文档。浏览文档页面上的文档。您还可以通过在终端中运行python -m pygame.docs
来浏览本地文档。如果在本地找不到文档,它将启动在线网站。
在线文档与 GitHub 上的 pygame 开发版本保持同步。这可能比您正在使用的 pygame 版本新一点。要升级到最新的完整版本,请在终端中运行pip install pygame --upgrade
。
最重要的是,示例目录中有许多可玩的小程序,可以让您立即开始使用代码。
Pygame 是一个强大的游戏开发库,提供广泛的功能来简化您的编码之旅。让我们深入研究 pygame 提供的功能:
图形 - 使用 pygame,创建动态且引人入胜的图形从未如此简单。该库为 2D 图形和动画提供简单而有效的工具,包括对图像、矩形和多边形的支持。无论您是经验丰富的游戏开发者还是新手,pygame 都能满足您的需求。
声音 - Pygame 还支持播放和操作声音和音乐,可以轻松地向游戏添加声音效果和背景音乐。由于支持 WAV、MP3 和 OGG 文件格式,您有多种选择。
输入 - Pygame 提供了处理键盘、鼠标和操纵杆输入的直观功能,使您可以快速轻松地在游戏中实现玩家控制。不再需要为复杂的输入代码而烦恼,pygame 让它变得简单。
游戏开发 - 最后,pygame 提供了专门为游戏开发设计的一套全面的工具和功能。从碰撞检测到精灵管理,pygame 拥有创建令人兴奋和引人入胜的游戏所需的一切。无论您是在构建平台游戏、益智游戏还是介于两者之间的任何游戏,pygame 都能满足您的需求。
如果您想使用当前正在开发的功能,或者您想为 pygame 做出贡献,您将需要从其源代码在本地构建 pygame,而不是 pip 安装它。
从源代码安装是相当自动化的。大多数工作将涉及编译和安装所有 pygame 依赖项。完成后,运行setup.py
脚本,它将尝试自动配置、构建和安装 pygame。
有关安装和编译的更多信息可以在 Compilation wiki 页面上找到。
感谢所有为这个图书馆做出贡献的人。还要特别感谢。
感谢那些发送补丁和修复的人:Niki Spahiev、Gordon Tyler、Nathaniel Pryce、Dave Wallace、John Popplewell、Michael Urman、Andrew Straw、Michael Hudson、Ole Martin Bjoerndalen、Herve Cauwelier、James Mazer、Lalo Martins、Timothy Stranex、Chad莱斯特、马蒂亚斯·斯皮勒、博·詹格博格、德米特里·鲍里索夫、坎贝尔·巴顿、迭戈·埃萨亚、埃亚尔·洛特姆,雷吉斯·德斯格罗普斯,伊曼纽尔·海恩里,兰迪·凯尔伯,马修·L·丹尼尔,尼拉夫·帕特尔,福雷斯特·沃伊特,查理·诺兰,弗兰基·罗伯逊,约翰·克鲁科夫,洛伦茨·奎克,尼克·欧文,迈克尔·乔治,索尔·斯帕茨,托马斯·伊博森,汤姆·罗萨梅尔,埃文·克罗斯克,坎贝尔·巴顿。
还有我们的 bug 猎人:Angus、Guillaume Proux、Frank Raiser、Austin Henry、Kaweh Kazemi、Arturo Aldama、Mike Mulcheck、Michael Benfield、David Lau
还有更多的人提交了有用的想法,让这个项目继续下去,基本上让我们的生活变得更轻松。谢谢!
非常感谢人们提出文档评论并添加到 pygame.org wiki。
也非常感谢人们创建游戏并将其放在 pygame.org 网站上供其他人学习和享受。
非常感谢 James Paige 主持 pygame bugzilla。
还要非常感谢 Roger Dingledine 和 SEUL.ORG 的工作人员为我们提供的出色主持。
Pygame 显然强烈依赖于 SDL 和 Python。它还链接并嵌入了其他几个较小的库。字体模块依赖于SDL_ttf,而SDL_ttf又依赖于freetype。 Mixer(和mixer.music)模块依赖于SDL_mixer。图像模块依赖于SDL_image,它也可以使用libjpeg和libpng。变换模块有一个嵌入版本的 SDL_rotozoom,用于其自己的 rotozoom 功能。 surfarray 模块需要 Python NumPy 包来实现其多维数值数组。依赖版本:
CPython | >= 3.6(或使用 PyPy3) |
雪迪龙 | >= 2.0.8 |
SDL_混音器 | >= 2.0.0 |
SDL_图像 | >= 2.0.2 |
SDL_ttf | >= 2.0.11 |
SDL_gfx | (可选,已出售) |
数值模拟 | >= 1.6.2(可选) |
该库在 GNU LGPL 版本 2.1 下分发,可以在文件docs/LGPL.txt
中找到。我们保留将此库的未来版本置于不同许可证下的权利。
这基本上意味着您可以在任何您想要的项目中使用 pygame,但是如果您对 pygame 本身进行任何更改或添加,则必须使用兼容的许可证来发布这些更改或添加(最好提交回 pygame 项目)。闭源游戏和商业游戏都可以。
examples
子目录中的程序属于公共领域。
有关依赖项的许可证,请参阅文档/许可证。