5

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

我需要找出一种将两者都包含在 pygame 窗口中的方法,而不是使用 pygame 窗口和终端窗口。还有,是否有任何适合这种用途的 Pygame GUI 工具包?

谢谢大家!

4

2 回答 2

5

我可以建议改用 ezText 吗?这是向 pygame 添加文本输入栏的一种很酷的方法。我自己之前用过,真的很好用。

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

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

于 2013-07-22T08:22:20.463 回答
1

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

完成你所说的最简单的方法是制作两个 Surface,一个用于界面的每个部分,然后在单独的模块中不断更新它们,最终在每一帧中对它们进行 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)

祝你好运。

于 2013-07-21T23:10:15.503 回答