Python 游戏开发
项目描述
pygame是一个免费的开源跨平台库,用于使用 Python 开发视频游戏等多媒体应用程序。它使用Simple DirectMedia Layer 库和其他几个流行的库来抽象最常见的功能,使编写这些程序成为一项更直观的任务。
我们需要您的帮助,以使 pygame 做到最好!欢迎新的贡献者。
安装
pip install pygame
帮助
如果你刚刚开始使用 pygame,你应该可以很快上手。Pygame 附带许多教程和介绍。还有整个库的完整参考文档。浏览文档页面上的文档。
在线文档与 github 上的 pygame 开发版本保持同步。这可能比您使用的 pygame 版本更新一些。要升级到最新的完整版本,请在终端中运行 pip install pygame --upgrade。
最重要的是,examples 目录有许多可玩的小程序,可以让您立即开始使用代码。
从源头构建
如果你想使用当前正在开发的功能,或者你想为 pygame 做贡献,你需要从它的源代码本地构建 pygame,而不是 pip 安装它。
从源代码安装是相当自动化的。大部分工作将涉及编译和安装所有 pygame 依赖项。完成后,运行setup.py脚本,该脚本将尝试自动配置、构建和安装 pygame。
更多关于安装和编译的信息可以在编译 wiki 页面上找到。
学分
感谢所有为这个图书馆做出贡献的人。特别感谢也是为了。
Marcus Von Appen:许多更改和修复,1.7.1+ freebsd 维护者
Lenard Lindstrom:1.8+ windows 维护者,许多更改和修复
svn auto builder、bug tracker 和许多贡献的 Brian Fisher
Rene Dudfield:许多更改和修复,1.7+ 版本管理器/维护器
Phil Hassey 在 pygame.org 网站上的工作
DR0ID 为他在 sprite 模块上所做的工作
理查德·戈德肯(Richard Goedeken)的平滑尺度函数
Ulf Ekström 的像素完美碰撞检测代码
皮特·辛纳斯:原作者
大卫克拉克填补了得力助手的位置
Ed Boraas 和 Francis Irving:Debian 软件包
Maxim Sobolev:FreeBSD 封装
Bob Ippolito:MacOS 和 OS X 移植(很多工作!)
Jan Ekhol、Ray Kelm 和 Peter Nicolai:忍受早期的设计理念
Nat Pryce 开始我们的单元测试
Dan Richter 负责文档工作
TheCorruptor 因其令人难以置信的徽标和图形
Nicholas Dudfield:许多测试改进
pygame-ctypes 的 Alex Folkner
感谢那些发送补丁和修复的人: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 Lester, Matthias Spiller, Bo Jangeborg, Dmitry Borisov, Campbell Barton, Diego Essaya, Eyal Lotem, Regis Desgroppes, Emmanuel Hinry, Randy Kaelber 马修 L Daniel, Nirav Patel, Forrest Voight, Charlie Nolan, Frankie Robertson, John Krukoff, Lorenz Quack,尼克·欧文、迈克尔·乔治、索尔·斯帕茨、托马斯·伊博森、汤姆·罗瑟梅尔、埃文·克罗斯克、坎贝尔·巴顿。
以及我们的漏洞猎手: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,它依赖于 freetype。混音器(和mixer.music)模块依赖于SDL_mixer。图像模块依赖于 SDL_image,也可以使用 libjpeg 和 libpng。transform 模块有一个嵌入式版本的 SDL_rotozoom 用于它自己的 rotozoom 功能。surfarray 模块的多维数值数组需要 Python NumPy 包。依赖版本:
CPython >= 3.6 或 PyPy3
SDL >= 2.0.0
SDL_mixer >= 2.0.0
SDL_image >= 2.0.0
SDL_ttf >= 2.0.11
SDL_gfx(可选,供应商)
NumPy >= 1.6.2(可选)
执照
该库在GNU LGPL 版本 2.1下分发,可在文件docs/LGPL.txt中找到。我们保留将此库的未来版本置于不同许可下的权利。
这基本上意味着您可以在任何您想要的项目中使用 pygame,但是如果您对 pygame 本身进行任何更改或添加,则必须使用兼容的许可证发布(最好提交回 pygame 项目)。闭源和商业游戏都很好。
示例子目录中的程序属于公共领域。
有关依赖项的许可证,请参阅 docs/licenses。