应该使用的Tkinter或Pygame

时间:2016-11-10 11:58:06

标签: python tkinter pygame

我即将开始为我的计算A级编程游戏。游戏将是拼字游戏的一个版本,但不会有一个棋盘。这将是你在一段时间内可以做多少单词。该游戏还将具有用于访问游戏的不同用户的菜单,按钮和登录。我想知道为此使用Tkinter或Pygame是否更好,或者我是否可以使用两者的方面:例如菜单的Tkinter和主循环的Pygame。任何帮助将不胜感激我对这两个想法都很陌生,所以请解释任何专业术语。非常感谢

3 个答案:

答案 0 :(得分:1)

所以,扩大问题: 我喜欢Pygame,它提供了一个简单的API,可以在屏幕画布上绘制东西,还有一个漂亮的O.O.屏幕上的精灵和游戏对象的层次结构和工具。

另一方面,它并没有发展为拥有一个很好的Python3安装程序 - 在某些平台上几乎不可能让它在Python3中工作(尽管Pygame代码本身就是Python3准备好了)。

它也不提供对菜单,按钮,甚至文本输入的任何支持 - 您必须使用第三方模块,或者自己创建。 Yu必须实现诸如读取键盘代码,在画布上的正确位置绘制相应的字形之类的东西 - 键盘读取是原始的,并且不会给你提供由O.S提供的字符组合之类的东西。 - 在与单词相关的应用程序中可能很重要。

简而言之:您需要一个功能齐全的应用程序,并且应该使用tkinter。至于主循环:你必须使用Tkinter的循环和实现 after事件调用可以控制代码中必须启动操作的部分内容。

Pygame让你完全控制主循环 - 我喜欢它用于学习目的 - 但大多数游戏或GUI工具包都有他们的所有主循环,你必须注册你的回调。

甚至可以让应用程序具有"控制屏幕" - 菜单,按钮,登录等,用Tkinter和主要游戏屏幕编写,动作发生在Pygame中。这不会解决Pygame难以安装的问题,对于玩家本身来说可能看起来很尴尬。

对于多媒体内容我将我的项目移动到Pyglet,因为它是一个表现良好的Python模块,并且具有pygame缺少的一些功能。但是Tkinter可以在Canvas小部件中做很好的事情,而且肯定可以保持你的游戏。

(你应该注意到我非常强调Python3 - 所以,虽然你没有问,但你应该在你的项目中使用Python 3.5(或3.6) - 即使你选择了Pygame - Python版本之间的深渊正在扩大, Python 2有一个停止的日期)

更新:我刚刚尝试了#34; pip install pygame"在Python 3.5 virtualenv上,它确实安装得很完美 - 所以这个项目还活着,而且安装可能不再困难。 也就是说,您仍然需要为菜单和按钮创建所有代码。

答案 1 :(得分:0)

你曾经使用过它们吗?如果答案是肯定的,那么你应该选择更熟悉的答案。如果它是一个没有很多动画的简单拼字游戏,这个选择并不重要。就个人而言,我认为Tkinter更容易。

答案 2 :(得分:0)

Pygame是游戏的最佳选择,tkinter对制作实用程序软件更友好。 Tkinter有局限性,你会在一些步骤中冻结,并且有一倍的时间来弄明白。你也可以使用Pyglet,比最简单,但Pygame仍然是最好的选择,快速,功能很多,你可以做你想做的所有事情。