简单来说,pyglet 和 pygame 之间的区别?

Difference between pyglet and pygame, in simple words?

有很多关于 pyglet 和 pygame 的问题,但我想知道的是这两者的区别,简单来说。

不是技术术语,不是实验性功能等等。

它们都是库,都是 API,都用于创建游戏和多媒体应用程序,对吧?

简单的英语,对于像我这样的初学者,已经完成了 Codecademy 中关于 Python 的课程并首先阅读了 Head first Python 书的人。

Pyglet 是 OpenGL 的包装器,而 Pygame 是 SDL 的包装器。

OpenGL is primarily concerned with 3d rendering, while SDL

is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.

PyGame 是 low-level 图书馆。您必须自己完成所有工作 - 从 mainloop 开始,所有函数都由 mainloop 调用。你可以用不同的方式来做。

(你可以在 PygletTkinterPyQtwxPython 和其他 GUIs 中了解一些关于 mainloops 的知识,而不是仅在 Python)

Pyglet 是框架 - 它已经 mainloop,您无法更改它,也看不到它是如何工作的。您覆盖 mainloop 调用的函数。你必须遵守它的规则。

我已经尝试过 pyglet 和 pygame,并将 pygame 评为最佳。