我在Pygame上有一些经验,但是这些天在Pyglet上似乎有很多嗡嗡声。
这两个库如何比较?在功能和易用性上,一个使用另一个将有什么优势?
最后,您会说一个比另一个更Pythonic吗?
我正在考虑将Pygame和Pyglet都用于小型2D射击游戏,并且在查看了源代码和一些教程之后,Pyglet随之出现。我对结果感到非常满意。
Pyglet立即工作,并且工作愉快,并且从概念上讲非常干净。它对我当然具有Pythonic的感觉:您可以很快得到一个简单易懂的示例,并且使用装饰器可以很好地处理事件。它还没有强制使用特定的程序结构,这使我很容易混入Pymunk的物理模型(http://code.google.com/p/pymunk/)。
虽然它基于OpenGL,并且您可以将这些功能用于特殊效果,但我对这些功能的了解并不多。
py2exe和py2app也可以很好地工作,这很重要,因为很多人没有安装Python解释器。
不利的一面是,由于它是较新的,因此在网络上有关它的信息较少,并且要看的示例游戏也更少。
而且,它与以前的版本相比有很大的变化,因此一些教程现在已经过时了(有“新样式事件循环”和Sprite类作为主要的补充)。
我建议下载示例(包括一个名为Astraea的不错的Asteroids克隆)并查看您是否喜欢该样式。