Python编程
Completion requirements
3D 游戏编程
带有 Python 绑定的 3D 游戏引擎
- pyirrlicht: 用于 Irrlicht 引擎 SDK 的 ctypes Python 模块。
- PyPi 链接:invalid URL removed]
- Pip 命令:
pip install pyirrlicht
- Irrlicht 引擎:(1) (Python 绑定网站:[2 [invalid URL removed])
- 两者都是非常好的免费开源 C++ 3D 游戏引擎,带有 Python 绑定。
- CrystalSpace: 是一个免费的跨平台软件开发工具包,用于实时 3D 图形,特别关注游戏。Crystal Space 可以通过两种方式从 Python 访问:(1) 作为 Crystal Space 插件模块,其中 C++ 代码可以调用 Python 代码,Python 代码也可以调用 Crystal Space;(2) 作为一个名为“cspace”的纯 Python 模块,可以从 Python 程序中“导入”。要使用第一种方式,像加载任何其他 Crystal Space 插件一样加载“cspython”插件,并通过 SCF“iScript”接口与其交互。第二种方法允许你完全用 Python 编写 Crystal Space 应用程序,而无需任何 C++ 编码。(CS Wiki)
用 Python 从头开始编写的 3D 游戏引擎
- Blender: 开源 3D 创建软件。永久免费使用,可用于任何目的。
- 下载链接:https://www.blender.org/download/
- Blender 是一款令人印象深刻的 3D 工具,拥有完全集成的 3D 图形创建套件,支持建模、动画、渲染、后期制作、实时交互 3D 和游戏创建与播放,并具有跨平台兼容性。它的 3D 游戏引擎使用嵌入式 Python 解释器来制作 3D 游戏。
- Panda3D: Panda3D 是一个游戏引擎,一个用于 Python 和 C++ 程序的 3D 渲染和游戏开发的框架。
- 下载链接:http://www.panda3d.org/download.php
- Panda3D 是一个 3D 游戏引擎。它是一个用 C++ 编写的库,带有 Python 绑定。Panda3D 的设计目标是支持短学习曲线和快速开发。该软件可在 BSD 许可下免费下载,并提供源代码。它由迪士尼公司开发。现在有许多使用 Panda3D 完成的项目,例如迪士尼的《加勒比海盗Online》、ToonTown、Building Virtual World、Shell Games 等。Panda3D 支持多种功能:程序几何体、动画纹理、渲染到纹理、轨迹运动、雾、粒子系统等等。
- Crystal Space: Crystal Space 是一个成熟、功能齐全的软件开发工具包 (SDK),为游戏和虚拟现实等应用程序提供实时 3D 图形。
- 下载链接:http://www.crystalspace3d.org/main/Download
- Crystal Space 是一个 3D 游戏引擎,带有名为 Crystal 的 Python 绑定,查看 *CrystalSpace 的维基百科页面。
2D 游戏编程
- Pygame: Python 游戏开发
- PyPi 链接:[invalid URL removed]
- Pip 命令:
pip install Pygame
- Pygame 是一个跨平台的 Python 库,它封装了 SDL。它提供了许多功能,如精灵组、声音/图像加载以及轻松更改对象位置。它还为程序员提供了访问键盘和鼠标事件的功能。免费书籍《Making Games with Python & Pygame》中可以找到完整的教程。
- pgu: Python 游戏实用工具
- 下载链接:https://code.google.com/archive/p/pgu/downloads
- 依赖项:Pygame
- Phil's Pygame Utilities (PGU) 是一个增强 Pygame 的工具和库的集合。工具包括一个瓦片编辑器和一个关卡编辑器(瓦片、等距、六边形)。GUI 增强功能包括功能齐全的 GUI、HTML 渲染、文档布局和文本渲染。库包括一个精灵和瓦片引擎(瓦片、等距、六边形)、一个状态引擎、一个计时器和一个高分系统。(Beta 版,上次更新于 2007 年 3 月。API 将被弃用,等距和六边形支持目前是 Alpha 版,可能会发生变化。)[2008 年 2 月 27 日更新:作者表示他目前没有积极开发该库,任何愿意开发自己的滚动等距库的人都可以使用 PGU 中的现有代码作为起点。]
- pyglet: 跨平台窗口和多媒体库
- PyPi 链接:https://pypi.python.org/pypi/pyglet
- Pip 命令:
pip install pyglet
- Pyglet 是一个用于 Python 的跨平台窗口和多媒体库,没有外部依赖项或安装要求。Pyglet 为开发 Windows、Mac OS X 和 Linux 上的游戏和其他视觉丰富的应用程序提供了一个面向对象的编程接口。Pyglet 允许程序在多个屏幕上打开多个窗口,使用 OpenGL 在这些窗口中绘图,并以大多数格式播放音频和视频。与类似的可用库不同,pyglet 没有外部依赖项(例如 SDL),并且完全用 Python 编写。Pyglet 在 BSD 风格的许可下可用。
- Kivy: 用于快速开发硬件加速的多点触控应用程序的软件库。
- PyPi 链接:[invalid URL removed]
- Pip 命令:
pip install kivy
- 依赖项:docutils; pygments(与 kivy 自动安装)kivy.deps.sdl2; kivy.deps.glew(不会自动安装,运行
pip install kivy.deps.sdl2 kivy.deps.glew
,OpenGl 需要)kivy.deps.angle(Python3.5+,可以替换 kivy.deps.glewpip install kivy.deps.angle
)kivy.deps.gstreamer(120+mb,视频/音频需要,pip install kivy.deps.gstreamer
,仅图形不需要) - kivy_examples(可选,使用
pip install kivy_examples
安装) - Kivy 是一个用于开发多点触控应用程序的库。它是完全跨平台的(Linux/OSX/Win 和 Android,使用 OpenGL ES2)。它原生支持许多多点触控输入设备,一个不断增长的多点触控感知小部件库和硬件加速的 OpenGL 绘图。Kivy 旨在让你尽可能快速和轻松地专注于构建自定义和高度交互的应用程序。
- Rabbyt: 一个使用 OpenGL 的快速 2D 精灵引擎
- PyPi 链接:[invalid URL removed]
- Pip 命令:
pip install Rabbyt
- Rabbyt 是一个用于 Python 的快速精灵库,专为游戏开发而设计。使用 Rabbyt Anims,即使是旧的显卡也可以产生非常快速的动画,处理 2400 个或更多个同时处理位置、旋转、缩放和颜色的精灵。
Last modified: Friday, 31 January 2025, 1:42 AM