python - 如何在 Pygame 中获取用户的输入并将其保存为变量?

标签 python input pygame

<分区>

我想在游戏中获取用户的输入(例如他们的名字),然后将其显示在屏幕上。

我尝试了模块(包括 InputBox ),但它们都不起作用。他们只是在屏幕上显示我的文字。

我想将该输入保存到一个变量。有什么办法吗?

Example:

font1 = pygame.font.SysFont("None", 30)
score = 0
text = font1.render("{}".format(score), True,(255,255,255))
...
...
if sneakeattheapple:
    score += 1
    text = font1.render("{}".format(score), True,(255,255,255))
...
...
screen.blit(text,(275,6))

这会将 score 变量显示在屏幕上。但是 score 已经定义了,我想用用户给定的变量来做到这一点。

EDIT: Let me be more clear. In Python we can do this:

x = input("Do you want to do this? (y/n): ")
if x == "y":
    #do something
if x == "n":
    #do something

这就是我想在 Pygame 中做的事情。

最佳答案

Pygame 中没有为此做任何准备。您将需要使用第 3 方 GUI 库,或者自己构建它。示例:如果文本框有焦点,获取所有按键事件,并附加到字符串。每一帧,绘制一个框,然后在上面绘制字符串。

构建一个简单的应该不难,但如果您想要一个功能更全的,使用库可能会更容易。

关于python - 如何在 Pygame 中获取用户的输入并将其保存为变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27713855/

相关文章:

python 检查调用者函数是否是生成器

java - 将用户输入分开并用循环填充(Java)

python - 如何根据文本文件创建字典?

python - pygame安装: sdl-config command not found

python - 尝试在屏幕上调用多个 Sprite 会导致故障?

python - 如何让我的子弹击中物体后动画

python - 如何使用python将div添加到单词列表

python - 更改 Flask 中的 URL 路由会破坏代码吗?

python - seaborn和networkx可以通过matplotlib集成到GUI中吗?

jsf - ui :repeat, 内的输入组件如何保存提交的值