【问题标题】:Difference between pyglet and pygame, in simple words?pyglet和pygame之间的区别,简单来说?
【发布时间】:2016-05-04 19:32:08
【问题描述】:

关于pyglet和pygame的问题很多,但我想知道的是这两者的区别,简单来说。

不是技术术语,不是实验性功能等等。

它们都是库,都是 API,都用于创建游戏和多媒体应用程序,对吧?

对于像我这样的相对初学者,已经完成 Codecademy 中的 Python 课程并阅读 Head first Python 书籍的人来说,只是简单的英语。

【问题讨论】:

  • 将鼠标悬停在两个标签上怎么样?这就像你能得到的一样简单/简单
  • 虽然这是一个非常基本的问题,但我不同意近距离投票 - 这是一个有明确答案的问题(尽管它可能不会很长;)

标签: python api pygame pyglet


【解决方案1】:

我尝试过 pyglet 和 pygame,并将 pygame 评为最佳。

【讨论】:

    【解决方案2】:

    PyGame 是低级库。您必须自己完成所有工作 - 从 mainloop 开始,以及由 mainloop 调用的所有函数。你可以用不同的方式来做。

    (您可以在PygletTkinterPyQtwxPython 和其他GUIs 中了解有关mainloops 的信息,不仅限于Python)

    Pyglet 是框架——它已经有了mainloop,你不能改变它,你也看不到它是如何工作的。您覆盖 mainloop 调用的函数。你必须遵守它的规则。

    【讨论】:

    • 出于两个目的,我对此投了反对票。说你不能改变 Pyglet 的“主循环”是疯狂的。您始终可以使用Decorators 覆盖任何python 函数,进一步看看这个例子stackoverflow.com/questions/34846635/pyglet-image-rendering/… 我已经用我自己的替换了mainloop 函数。同样PyGame 不是低级库,它是低级库的抽象层ON TOP,例如OpenGL。我希望我不仅在这里大吵大闹,而且看起来你把它弄混了。
    • 更进一步,说You have to keep its rules 是荒谬的。再次,看看我的例子并重新考虑你的陈述。我已经写了整个mainloop,替换了您声称无法重写的所有“规则”。我什至用 Pyglet 创建了一个框架,它本身根本不是一个框架,因为除了低级 GL 操作(例如顶点等)之外,没有用于操作的 UI 类或预定义函数。
    【解决方案3】:

    Pyglet 是 OpenGL 的包装器,而 Pygame 是 SDL 的包装器。

    OpenGL主要关注3D渲染,而SDL

    是一个跨平台开发库,旨在通过 OpenGL 和 Direct3D 提供对音频、键盘、鼠标、游戏杆和图形硬件的低级访问。

    【讨论】:

    • 引用不是拼写错误 - 我直接从 SDL 网站上提取了该文本,因此它是引用
    猜你喜欢
    • 1970-01-01
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 1970-01-01
    • 2014-02-23
    • 2014-01-06
    • 1970-01-01
    相关资源
    最近更新 更多