游戏编程现在非常有益,它也可以用于广告或作为教学工具。游戏开发包括数学、逻辑、物理、AI 等等,而且非常有趣。在Python,到目前为止,Pygame 库被用于相同的,但经过多次改进和处理 Pygame 所拥有的问题,一个新模块,Arcade Library 出现了。在这里,我们将讨论它们之间的区别,但首先,让我们了解它们到底是什么。
Pygame:它是一个用于设计视频游戏的Python模块,通过允许计算机图形和声音库来开发高质量和用户交互的游戏。 Pygame 是由 Pete Shinners 开发的。直到 2000 年,它是一个社区项目,后来,它在开源自由软件 General Public License 下发布。 Pygame 是可移植的,它的代码与所有操作系统兼容。还可以使用它创建开源、免费、免费软件、共享软件和商业游戏。 Pygame 代码是用 C 语言编写的,该模块带有 Windows 和 macOS 的安装程序。它也可以轻松地用于手持设备。即便如此,该模块仍缺乏一些需要改进的设施,这将在本文后面的流程中讨论。
拱廊: 它又是一个Python模块,但仅适用于Python 3.6 及更高版本。它试图涵盖 Pygame 不支持的大部分功能。这也使用计算机图形和声音库来开发高质量和用户交互的游戏。 Arcade 是由 Paul Vincent Craven 开发的。 Arcade 需要支持 OpenGL 3.3+。它建立在 OpenGL 和 Pyglet 之上,兼容 Windows、Linux 和 macOS X。还可以使用它创建开源、免费、免费软件、共享软件和商业游戏。它还支持标准坐标系,非常易于使用和编码。
Arcade 和 PyGame 之间的差异表
Arcade |
PyGame |
---|---|
Arcade is based on Open GL | PyGame was infrequently updated and it is based on an old SDL 1 library |
It has new features of Python 3, like decorators and type-hinting | No new features of Python 3 |
Arcade draws stationary sprites much faster than Pygame | PyGame draws stationary sprites much slower than Arcade |
Gives the liberty of rotating Ellipses, arcs, and other shapes | No such liberty |
Arcade supports standard coordinate system | Pygame doesn’t support standard coordinate system |
Supports animated sprites | Doesn’t support animated sprites |
API documentation for the commands is better | The API documentation is not that much elaborated. |
Command names are consistent i.e to add to a sprite list append() is used | Commands aren’t consistent, it uses add() |
Less boiler-plate code than Pygame and also much easier to write and to understand. | No such facility |
Encourages separation of logic and display code | Tends to put both into the same game loop. |
Runs on top of OpenGL 3+ and Pyglet | Runs on the old SDL1 library. |
Arcade uses SoLoud which Supports panning and volume. | Pygame uses old and unsupported Avbin library |