如何接受来自pygame GUI的文本输入

时间:2013-07-21 21:59:56

标签: python user-interface pygame textinput

我正在使用Python和Pygame开发RPG游戏,我正在尝试创建一个由两部分组成的GUI,包括一个类似于基本命令行的下半部分,以及一个显示所有图形“动作”的顶部部分。 “

我需要找到的方法是在pygame窗口中包含两者,而不是使用pygame窗口和终端窗口。同样,是否有适合此用途的Pygame GUI工具包?

全部谢谢!

2 个答案:

答案 0 :(得分:5)

我建议使用ezText吗? 这是向pygame添加文本inupt栏的一种很酷的方式。我在我自己之前使用它,而且它非常容易使用。

http://www.pygame.org/project-EzText-920-.html

(如果您需要帮助,请随时发表评论,尽管您需要知道的一切都在附带的example.py中)

答案 1 :(得分:1)

在这里查看(http://wiki.python.org/moin/PythonGameLibraries)获取Pygame和Pyglet的完整ToolKits列表。 Albow(http://www.cosc.canterbury.ac.nz/greg.ewing/python/Albow/)过去对我来说效果很好。

实现你所谈论的最简单的方法是制作两个Surfaces,每个部分对应一个接口,然后在不同的模块中不断更新它们,最后在每一帧中进行blit。这样你的主模块就可以简化为:

import action_gui
import cl_gui
import pygame

pygame.init()
MAIN_SURF = pygame.display.set_mode((x, y))
pygame.display.set_caption('My Game')

while (True):
    action_surf = action_gui.update()
    cl_surf = cl_gui.update()
    MAIN_SURF.blit(action_surf, my_position_1)
    MAIN_SURF.blit(cl_surf, my_position_2)

祝你好运。