python - Python游戏库Pygame和Pyglet的区别?

标签 python pygame pyglet

我有一些使用 Pygame 的经验,但这些天似乎有很多关于 Pyglet 的讨论。

这两个库如何比较?在功能和易用性方面,使用其中一种比另一种有什么优势?

最后,你会说一个比另一个更Pythonic吗?

最佳答案

我正在考虑将 Pygame 和 Pyglet 用于小型 2D 射击游戏,在查看了源代码和一些教程后,我选择了 Pyglet。我对结果非常满意。

Pyglet 立即工作,使用起来很愉快,而且在概念上非常干净。它确实给我一种 Pythonic 的感觉:你可以很快地得到一个简单易读的示例,并且它使用装饰器来很好地处理事件。它也没有强制使用特定的程序结构,这让我很容易融入 Pymunk 的物理建模 (http://code.google.com/p/pymunk/)。

虽然它基于 OpenGL,并且您可以将这些功能用于特殊效果,但我能够在不了解它们的情况下做得很好。

它也适用于 py2exe 和 py2app,这很重要,因为很多人没有安装 Python 解释器。

不利的一面是,网络上关于它的信息较少,因为它较新,而且可供查看的示例游戏也较少。

此外,它与以前的版本相比发生了很大变化,因此其中的一些教程现在已经过时(有“新样式事件循环” 和 Sprite 类作为主要补充。)

我建议下载示例(包括一个不错的 Asteroids 克隆,名为 Astraea),看看你是否喜欢这种风格。

关于python - Python游戏库Pygame和Pyglet的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/370680/

相关文章:

linux - X11没有模拟音频输出

python - 如何通过 pyglet 使用鼠标运动来移动标签?

python - Pyglet-一次移动多个形状

python - 如何设置不等式来检查 "consumption"(基本上是冲突)

python - 贪吃蛇游戏 : snake and apples do not appear on the screen

python - Pygame 循环检查速度很少

python - 将两个数组相乘得到矩阵

python - 为使用 Opencv 2.3 的 c++ 类 boost Python 包装器

python - 维护段落计数

python - Numpy 追加到矩阵