【发布时间】:2014-12-30 23:04:03
【问题描述】:
我想在游戏中获取用户的输入(例如他们的姓名),然后将其显示在屏幕上。
我尝试了模块(包括InputBox),但它们都不起作用。他们只是在屏幕上显示我的文字。
我想将该输入保存到变量。有没有办法做到这一点?
例子:
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 已经定义好了,我想用用户给定的变量来做这个。
编辑:让我更清楚。在 Python 中,我们可以这样做:
x = input("Do you want to do this? (y/n): ")
if x == "y":
#do something
if x == "n":
#do something
这就是我想在 Pygame 中做的事情。
【问题讨论】:
-
你试过用
input() -
@PythonMaster 说真的......我想从 pygame 屏幕而不是 Python shell 中获取输入......
-
@PythonMaster 不,不是重复的。我已经检查了 SO 中的所有问题。
-
“我尝试过 InputBox 等,但它实际上不起作用” - 什么不起作用? “不工作”不是问题陈述。您没有发布收到的任何错误或任何内容。
-
您希望用户输入一个变量名,然后打印该变量的值吗?我很难理解您在其他方面需要什么帮助。