我想知道什么是最好的开始,pyglet或pygame?哪一个更快,哪一个更活跃?
我还想知道pyglet是否会获得python 3支持,因为我已经阅读here它可能不可能或者需要很长时间。
选择pygame是不是更好,因为python 3支持,或者我应该使用pyglet?
感谢。
答案 0 :(得分:32)
pygame非常活跃,见证了诺基亚s60支持的8月发布1.9,增强的py2app / py2exe支持,以及一系列实验性功能(支持Python 3.1,网络摄像头,gfx,......)。像Hello World这样的书籍以及像ludumdare和pyweek这样的定期有趣的比赛见证了其社区和生态系统的活力。
pyglet有一个更新,更新的API,很方便(纯Python,BSD许可证而不是LGPL)。
至于速度,我没有运行基准测试,但我认为开箱即用的pyglet更好地利用高级硬件加速进行3D工作,而pygame在2D工作和硬件上更好用于高级(智能手机) ,上网本等,没有闪亮的3D硬件加速器)。您可以通过附加组件增强框架的速度,但这确实会失去方便性。
就Py3支持等而言,我认为问题很简单,pygame,更加成熟和流行,拥有一个更大的核心开发组,所以当然它可以更早地获得像Py3支持这样的新东西。
如果上述问题都不具有决定性因素(你对LGPL和BSD没关系,不关心智能手机,不需要书籍等等),唯一合理的做法是真正下载和在您感兴趣的机器上尝试您感兴趣的相同基本任务 - 这将告诉您每个“适合您的大脑”,您对速度,便利等的需求。
答案 1 :(得分:9)
我无法评论其他答案,所以我必须制作这个新答案,抱歉。
速度方面,Pyglet肯定比开箱即用的pygame快,并且在使用pygame进行开发时速度始终是一个问题(你必须更新屏幕的最小部分,并记住改变了什么可能是乏味的。 pyglet没有这样的问题。
如果使用cocos2d(pyglet上方的一层)加速操作更容易,只需将精灵附加到BatchNode,然后观察FPS上升。
正如在注释pyglet中所说的python3支持。
这只是我个人的偏好,但我更喜欢Pyglet,而cocos2d在顶部,它真的很容易学习。缺点是规模小得多。
答案 2 :(得分:7)
这似乎与Differences between Python game libraries Pygame and Pyglet?
重复至少有一个地方可以寻找其他答案。
我参加了史蒂夫约翰逊在PyOhio上谈论pyglet的演讲(http://pyohio.org/2009/Talks/讲话#18)并且对代码涉及的代码很少印象深刻。 pygame似乎很大,我(个人)并不关心所有额外的依赖。
那就是说,我还没有写任何代码。我的计划是从pyglet开始,然后在我熟悉它之后,尝试pygame并看看它们是如何比较的。
我同意Alex的回应,如果你谷歌搜索pygame与pyglet,你会发现很多个人偏好。关于我看到的唯一客观差异是支持多少图形卡的差异(pygame不需要OpenGL,所以pygame可以支持更多)。