📜  PythonPygame VS Arcade 库的区别

📅  最后修改于: 2021-09-11 03:51:14             🧑  作者: Mango

游戏编程现在非常有益,它也可以用于广告或作为教学工具。游戏开发包括数学、逻辑、物理、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