【问题标题】:What can Pygame do in terms of graphics that wxPython can't?Pygame 能在图形方面做哪些 wxPython 做不到的事情?
【发布时间】:2010-09-25 12:04:43
【问题描述】:

我想用 Python 开发一个非常简单的 2D 游戏。 Pygame 是 Python 中最流行的游戏开发库,但我已经对 wxPython 非常熟悉,并且使用它感觉很舒服。我什至在里面写了一个Tetris clone,还挺流畅的。

我想知道,Pygame 提供了哪些 wxPython 无法提供的图形(暂时不考虑声音)?在 Pygame 中做图形是否比在 wxPython 中更简单/更快?是不是更跨平台?

我好像在这里遗漏了什么,但我不知道是什么。

【问题讨论】:

    标签: python graphics wxpython pygame


    【解决方案1】:

    wxPython 基于wxWidgets,这是一个面向 GUI 的工具包。它的优势在于使用运行它的系统提供的样式和装饰,因此很容易编写可移植的应用程序,这些应用程序可以很好地集成到您正在运行的任何东西的外观和感觉中。你想要一个复选框?使用 wxCheckBox 和 wxPython 将处理外观和交互。

    另一方面,pyGame 面向游戏开发,因此以 wxPython 所没有的方式(也不需要,因为它调用操作系统来绘制其大部分控件)使您更接近硬件。 pyGame 有很多与游戏相关的东西,例如碰撞检测、表面和层的细粒度控制或在您选择的时间翻转显示缓冲区。

    也就是说,就图形而言,您可能总能找到一种方法来使用这两个工具包做您想做的事情。但是,当速度很重要,或者您希望以图形方式实现比俄罗斯方块更费力的游戏创意时,您可能更适合使用 pyGame。如果你想使用大量的 GUI 元素并且不需要花哨的图形和声音功能,你最好使用 wxPython。

    便携性不是问题。两者都适用于三大巨头(Linux、OSX、Windows)。

    更多的是你需要什么样的特殊能力的问题,真的。

    【讨论】:

    • 如果我想同时使用这两个怎么办? IE。有一个完整的图形游戏并能够使用标准的 GUI 小部件来控制/配置它?
    • 您可能需要考虑在 wxPython-Window 中显示 pyGame-graphics。试试这个链接:wiki.wxpython.org/IntegratingPyGame
    • 是的,我以前看过,但看起来不是很全面。描述有些保留和怀疑,这也是我在其他地方发现的。
    • 截至此评论,我已经成功地将两者混合在一起。我只需要小心一点,但一切运行顺利,没有崩溃
    【解决方案2】:

    好吧,理论上你可以用 Pygame 做任何你不能用 wxPython 做的事情。关键不是什么,而是如何。在我看来,使用 PyGame 编写游戏更容易,因为:

    • 它更快。 Pygame 基于 SDL,这是一个专门为游戏设计的 C 库,它的开发考虑了速度。开发游戏时,您需要速度。

    • 是一个游戏库,而不是通用画布,它具有对精灵、变换、输入处理、绘图、碰撞检测有用的类和函数。它还实现了游戏中常用的算法和技术,如脏矩形、翻页等。

    • thousands of games 和用它制作的例子。你会更容易发现如何做任何技巧。

    • 有很多 libraries 具有您可以重复使用的效果和实用程序。你想要一个等距游戏,有一个库,你想要一个物理引擎,有一个库,你什么很酷的视觉效果,有一个库。

    • PyWeek。 :) 这是为了让您的游戏开发更加有趣!

    对于一些非常简单的游戏,比如俄罗斯方块,差别不会太大,但是如果你想开发一个相当复杂的游戏,相信我,你会想要 PyGame 这样的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-05
      • 2011-04-12
      • 1970-01-01
      • 2019-09-11
      • 2017-07-13
      • 1970-01-01
      • 2019-11-08
      • 1970-01-01
      相关资源
      最近更新 更多