gpt4 book ai didi

python - 如何创建一个空字符串并更新它

转载 作者:行者123 更新时间:2023-12-04 10:30:39 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





pygame get key pressed as a string [duplicate]

(1 个回答)



How can I create a text input box with Pygame?

(5 个回答)


11 个月前关闭。




我正在用pygame制作一个游戏,我希望玩家输入他的名字,然后在玩的时候它就会出现在屏幕上。我试过一个列表:

def input_player_name():
player_name_screen = True
name_list = []
win.blit(player_name_bg, (0, 0))
while player_name_screen:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
name_list.append("a")
elif event.key == pygame.K_b:
name_list.append("b")
elif event.key == pygame.K_c:
name_list.append("c")
elif event.key == pygame.K_d:
name_list.append("d")
elif event.key == pygame.K_e:
name_list.append("e")
elif event.key == pygame.K_RETURN:
print (name_list)
player_name_screen = False

pygame.display.update()
clock.tick(fps)

这有效。但我想用一个字符串来做它,所以它创建了一个空字符串,玩家在键盘上输入他的名字时会更新它。有没有办法做到这一点?或者你能不能把我重定向到一个已经存在的页面,在那里有人问过这个问题(我还没有找到)?谢谢你的回答=D

最佳答案

使用 event.unicode :

例如。:

player_name_screen = True
name = ""

while player_name_screen:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RETURN:
print (name)
player_name_screen = False
else:
name += event.unicode

如果要将输入限制为字母,则可以执行以下操作:

if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RETURN:
print (name)
player_name_screen = False
elif 'a' <= event.unicode <= 'z' or 'A' <= event.unicode <= 'Z':
name += event.unicode

关于python - 如何创建一个空字符串并更新它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60439943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com