使用 pygame_textinput 模块获取用户输入值?
Posted
技术标签:
【中文标题】使用 pygame_textinput 模块获取用户输入值?【英文标题】:Obtaining a user input value with pygame_textinput module? 【发布时间】:2018-08-21 03:35:22 【问题描述】:我在业余时间一直在使用 pygame 开发一个简单的游戏,以便让我熟悉它的代码。我正在制作的游戏是实现数学问题的连续四人游戏的抽象。为了得到用户的答案,我使用了一个名为 pygame_textinput 的模块。但是,我正在努力提取用户的答案,然后我希望能够将其与正确答案进行比较,这将允许用户将他们的磁盘放在网格中。
我的代码是:
mathsanswer = pygame_textinput.TextInput()
这在主循环之外,然后我在下面的代码中调用它。
mathsanswer.update(events) #Check if user has inputted text
display.blit(mathsanswer.get_surface(), (600,725))
当用户键入的文本显示在屏幕上时,这部分代码完美运行。
但是,当我尝试提取用户输入的内容时,我得到了:
<pygame_textinput.TextInput object at 0x00000219C1F101D0>
有没有办法获取用户输入的变量。
感谢您的帮助。
【问题讨论】:
您使用什么代码来尝试将输入作为变量? @johnashu 我没有任何代码可以尝试将其作为变量获取。我所做的只是打印(数学答案),这是我得到那个值的时候。我不确定如何将其转换为用户输入的内容。 【参考方案1】:试试这个.. 你需要使用get_text()
来获取输入。
要在用户点击 Return 后捕获用户输入,只需评估 update() 方法的返回值 - 它始终为 False,除非用户点击 Return,然后它为 True。要获取输入的文本,请使用 get_text()。示例:
if mathsanswer.update(events):
print(mathsanswer.get_text())
【讨论】:
谢谢。完美运行。 你能选它作为正确答案吗?绿色的勾 :) 祝你游戏好运!以上是关于使用 pygame_textinput 模块获取用户输入值?的主要内容,如果未能解决你的问题,请参考以下文章