12

我正在用 Python 编写一个模拟器,并对有关基本 2D 动画的选项和意见感到好奇。通过动画,我指的是动态渲染,而不是显示预渲染的图像。

我目前正在使用 matplotlib(Wxagg 后端),我有可能继续使用它,但我怀疑它在性能或功能方面无法充分扩展。

要求是:

  • 跨平台(Linux、MacOS X、Windows)
  • 低复杂性开销
  • 与 wxpython 配合得很好(至少不会过分踩对方的脚趾)
  • 交互性。检测对象何时被点击、鼠标悬停等。

请注意,高性能不在列表中,但在屏幕上处理约 100 个位图对象的能力会很好。

你的意见?

4

3 回答 3

13

我是pyglet的粉丝,它是一个完全独立的库,用于在 win32、linux 和 OS X 下进行图形工作。

它的开销非常低,您可以从网站上的教程中亲自看到这一点。它应该与 wxpython 配合得很好,或者至少我似乎记得邮件列表中关于 wxpython 和 pyglet 一起使用的帖子。

但是,它不提供通过鼠标单击来选择对象-您必须自己处理。一般来说,对于 2D 应用程序来说,这并不太难做到。

macctorii是我用纯 python+pyglet 编写的一个 OS X 应用程序,并且有一些基本的动画(滚动)和点击检测。它不使用 wxpython,但也许它会让您了解所涉及的内容。但是请注意,mactorii 使用的是旧的 pyglet api,所以我在那里的运行循环已经过时了。总有一天我会去更新它... :P

于 2008-10-04T05:50:03.410 回答
3

你可以试试pygame,它很容易处理,类似于c++下的SDL

于 2009-10-14T20:16:46.803 回答
1

Arcade可在任何具有 OpenGL 3.3+ 的平台上运行(即不是 Raspberry Pi,而是大多数其他平台)。尽管它是为简单的游戏而设计的,但 Arcade 提供了出色的位图和精灵处理,以及简单的图形基元,例如矩形、弧形和圆形。

于 2021-02-25T06:58:37.633 回答