Python Pygame:图形输入+;文本输入

Python Pygame:图形输入+;文本输入,python,input,pygame,Python,Input,Pygame,在Pygame中,如何获得图形输入(例如单击退出按钮)和同时从终端窗口获得输入 为了给您提供上下文,我的游戏有一个GUI,但它的游戏命令来自“input()”命令。如何在处理图形的同时从命令行查找输入 我不确定这是否可行,但如果不行,我还有什么其他选项可以从用户那里获取文本输入 提前感谢。您不能这样做,除非您在不同的线程中使用input命令,但是您必须处理同步(这可能是您想要或不想要的) 我实现这一点的方法是创建一种游戏内控制台。当按下一个特殊的键(例如“\”)时,您会使控制台出现,当您的应用程

在Pygame中,如何获得图形输入(例如单击退出按钮)和同时从终端窗口获得输入

为了给您提供上下文,我的游戏有一个GUI,但它的游戏命令来自“input()”命令。如何在处理图形的同时从命令行查找输入

我不确定这是否可行,但如果不行,我还有什么其他选项可以从用户那里获取文本输入


提前感谢。

您不能这样做,除非您在不同的线程中使用
input
命令,但是您必须处理同步(这可能是您想要或不想要的)

我实现这一点的方法是创建一种游戏内控制台。当按下一个特殊的键(例如“\”)时,您会使控制台出现,当您的应用程序处于该状态时,您不会像游戏中的命令那样按键,而是。。。嗯,作为文本。您可以在控制台中打印它们(使用字体)。当按下一个键(如“回车”)时,您可以使控制台消失,这些键将恢复其主要功能


我这样做是为了我的宠物项目,它很有魅力。另外,由于您是用python开发的,您可以接受python指令,并使用
exec
执行它们,然后“在飞行中”编辑您的游戏我们讨论的是哪种输入?只是简单的文本输入?在终端窗口中输入纯文本。如果您试图收集的内容不太复杂,您可能希望自己滚动。将键盘事件放入队列中,然后在按下返回键等触发器时收集所有事件。您可以在游戏中制作“控制台”。在这个阶段,我不确定要走哪条路。因为这将是一个多人游戏,有两个客户端访问一个服务器,所以我不确定在运行游戏时是否需要线程来处理这一部分。我可能应该在前面说明,我对Python比较陌生。我强烈建议不要使用线程作为输入。至少你需要创建一个新窗口来管理输入,因为你不能使用主线程(主线程忙于渲染内容)。如果它适合你的需要,你可以将控制台作为另一个“客户端”来实现:在所有的网络内容都准备就绪之后,您只需要另一个连接来接受字符串……我想我会尝试实现“游戏内控制台”。现在我要弄清楚我是如何让两个客户端访问服务器并更新服务器的,同时从服务器获取游戏状态并保持两个客户端的同步。哦,一件简单的事情。我可以看看你是如何实现游戏机的吗?比如你的一些代码之类的。