Pygame在图形方面能做什么wxPython不能做的?

2024-06-12 18:17:51 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我想知道,Pygame在图形方面提供了wxPython不能提供的功能(暂时不考虑声音)?Pygame中的图形处理比wxPython中的简单/快速吗?是不是更跨平台?

我好像丢了什么东西,但我不知道。


Tags: 功能声音图形游戏clone跨平台wxpythonpygame
2条回答

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

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

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

可移植性不是问题。三巨头(Linux、OSX、Windows)都可以使用这两种操作系统。

更重要的是你需要什么样的特殊能力。

好吧,从理论上讲,Pygame和wxPython没有什么不同。关键不是什么而是怎么做。在我看来,用PyGame编写游戏更容易,因为:

  • 更快。Pygame是基于SDL开发的,SDL是一个专门为游戏设计的C库,它是在考虑速度的情况下开发的。当你开发游戏时,你需要速度。

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

  • 这里有thousands of games和用它制作的示例。你将更容易发现如何做任何把戏。

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

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

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

相关问题 更多 >