我正在使用 Python 和 Pygame 开发一款 RPG 游戏,并尝试制作一个由两部分组成的 GUI,包括类似于基本命令行的下部,以及将显示所有图形“动作”的顶部。
我需要找出一种将两者都包含在 pygame 窗口中的方法,而不是使用 pygame 窗口和终端窗口。还有,是否有任何适合这种用途的 Pygame GUI 工具包?
谢谢大家!
我正在使用 Python 和 Pygame 开发一款 RPG 游戏,并尝试制作一个由两部分组成的 GUI,包括类似于基本命令行的下部,以及将显示所有图形“动作”的顶部。
我需要找出一种将两者都包含在 pygame 窗口中的方法,而不是使用 pygame 窗口和终端窗口。还有,是否有任何适合这种用途的 Pygame GUI 工具包?
谢谢大家!
我可以建议改用 ezText 吗?这是向 pygame 添加文本输入栏的一种很酷的方法。我自己之前用过,真的很好用。
http://www.pygame.org/project-EzText-920-.html
(如果您需要使用它的帮助,请随时发表评论,尽管您需要知道的一切都在它随附的 example.py 中)
在这里(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)
祝你好运。