我还想知道pyglet是否会支持Python 3,因为我在这里读到过,可能不可能或者需要很长时间。
谢谢。
Pygame非常活跃,见证了1.9版本的发布,支持nokia s60、增强的py2app/py2exe支持和一系列实验功能(例如:Python 3.1、webcam、gfx等)。像Hello World这样的书籍以及定期举行的有趣比赛,如ludumdare和pyweek,都证明了其社区和生态系统的活力。
Pyglet拥有一个整洁而新的API,并且很方便(纯Python,BSD许可证,而不是LGPL)。
至于速度,我没有运行基准测试,但我了解到,pyglet默认情况下更擅长利用高级硬件加速来处理3D工作,而pygame则更擅长处理2D工作,在那些不具备光鲜亮丽的3D硬件加速器的硬件上(如智能手机、上网本等)。您可以通过添加插件来增强两个框架的速度,但这会失去方便性。
在Py3支持等方面,我认为问题仅仅在于pygame更成熟、更受欢迎,拥有一个更庞大的核心开发团队,因此它当然可以更早地推出新功能,如Py3支持。
如果上述问题都不是您决定性的问题(您不介意LGPL vs BSD,不太关心智能手机,不需要书籍等等),唯一明智的做法就是下载两者,并在您感兴趣的机器上尝试相同的基本任务——这将告诉您每个框架在速度、方便性等方面如何“适合您的思维”和需求。
这似乎是一个重复的问题:Python游戏库Pygame和Pyglet之间的区别?
那里至少是寻找其他答案的一个地方。
我参加了Steve Johnson在PyOhio的关于pyglet的演讲(第18个演讲,网址为http://pyohio.org/2009/Talks/),并对所需的代码量感到印象深刻。pygame似乎很大,而且我(个人认为)不喜欢所有额外的依赖。
也就是说,我还没有为任何一个写过代码。我的计划是从pyglet开始,等我熟悉它之后,再尝试pygame,看看它们如何比较。
我同意Alex的回答,如果你在谷歌上搜索pygame vs. pyglet,你会发现很多个人偏好。我看到的唯一客观的区别是支持多少个图形处理器(pygame不需要OpenGL,因此pygame可以支持更多)。