6

为了让它快速而肮脏 - 我是一个正在努力研究 Pyglet 的新手程序员,它看起来像一个非常干净和友好的模块,不像 PyGame 这样的东西,即使用我自己没有经验的眼睛看,它也是一个野兽。

然而。PyGame 不断被很多人使用、更新和重用,并且似乎有相当多的追随者。Pyglet 自 2010 年 1 月以来一直没有更新。大多数艺术作品从未完成,只是被遗弃了——但两年后它仍在 v 1.1.4 上似乎令人不安。

因此,虽然我可能会专门询问 Pyglet 与 PyGame,但我也不是,因为它让我想知道其他可能潜伏在那里的幽灵模块,这些模块曾经有过承诺,但由于某种原因,被丢弃了或被推到角落里,并不真正相关。这些废弃的项目不值得时间和脑空间投资吗?

4

5 回答 5

10

作为“休眠”包的所有者,我自己的看法是:

  • 更受欢迎的软件包将得到社区更好的支持。对于许多人来说,我认为这凌驾于任何其他考虑之上。支持一个平庸的包通常比与一个没有其他人使用的很棒的包战斗要好。
  • 它很可能很受欢迎,因为它更好。显然我在这里偏向于失败者(见上文),但不得不说,如果一个包从来没有获得很多用户,也许它不是一个很好的市场匹配。

  • 如果该软件包成熟且有效,并且可以满足您的要求,为什么不使用它呢?特别是当开源意味着您可以自己修复错误时,必要时分叉。

所以,这取决于。在所有其他条件相同的情况下 - 使用流行的选择。如果您需要支持 - 使用流行的选择。但是,如果一个包碰巧恰好引起了人们的注意,并且它是开源的并且在那里,我仍然会考虑它。

重要条件:这是针对个人项目的 - 对于工作,我有责任使用流行的项目,以便其他人可以支持我编写的代码。

python 特定的骑手:要担心的另一件事是对 python 3 的支持。如果休眠包卡在 python 2 上,我会三思而后行,因为从长远来看,它很有可能会停止在默认的 python 安装上工作。

于 2012-02-27T21:48:34.693 回答
1

来自 andrew-cooke的回答是正确的,但我只想提一下我一直在使用Panda3D并强烈推荐它作为替代方案。

它具有出色的文档、良好的性能以及愿意在论坛和 IRC 上提供帮助的优秀用户社区。它还在积极开发中,1.8 版即将发布。

于 2012-02-27T21:58:39.487 回答
1

套用巨蟒

不不,他没有停滞不前,他在,他在休息!

开源维护者继续前进或忙于其他事情。如果您觉得 Pyglet 是您的应用程序的一个不错的选择,请创建一个 repo 的克隆,将您的更改放在 上insert code hosting flavor of the month,然后完成一些工作。有一个社区来寻求帮助或修复错误是有好处的。

但是,如果某些东西是开源的并且非常适合您的项目,那么缺乏维护者应该被视为机会而不是问题。

于 2012-02-27T23:15:25.193 回答
1

虽然可能不如 Pygame 活跃,但 Pyglet 并非完全停滞不前。查看最近的提交,您会发现仍然有许多贡献者,并且在撰写本文前 4 天有几个提交。

确实有一段时间没有正式发布了,尽管对 1.2 版本进行 长时间的 讨论,但显然还没有发生任何事情。

公认的答案当然仍然存在,但认为这至少值得一提。

于 2012-05-03T10:31:39.263 回答
-1

在这种情况下,PyGame 和 Pyglet 是正交的。

PyGame 是 SDL C++ 库的包装器,它可以处理3D 渲染之外的所有游戏相关操作。(pyGame 做 3d 吗?) Pyglet 是 OpenGL 的包装器,它只做3D 渲染。

因此,PyGame 允许您执行诸如捕获控制器输入、从文件中加载纹理和播放声音之类的操作。但是,图形非常原始,因为它无法利用 GPU。Pyglet 可以让你在 GPU 上进行渲染,但不会帮助处理 PyGame 处理的任何非性能关键的繁琐东西。

它们非常适合一起使用。

于 2013-03-29T21:20:02.470 回答