Python pygame.K_返回和pygame.K_退格输出块
def Main_代码(): 这不是我全部的代码,但我正在使用pygame制作一个文字游戏 用户输入按预期显示在屏幕上,但每当我按backspace删除一个单词的最后一个字符或按enter清除整个用户输入时,它都会返回一个类似于[]的框Python pygame.K_返回和pygame.K_退格输出块,python,pygame,Python,Pygame,def Main_代码(): 这不是我全部的代码,但我正在使用pygame制作一个文字游戏 用户输入按预期显示在屏幕上,但每当我按backspace删除一个单词的最后一个字符或按enter清除整个用户输入时,它都会返回一个类似于[]的框 但是通过打印用户输入,我可以看到用户输入被正确更改,但是屏幕上仍然会显示用户输入以及我之前输入的框和文本。您正在检查event.type==pygame.K\u BACKSPACE它应该是event.key==pygame.K\u BACKSPACE: ...
但是通过打印用户输入,我可以看到用户输入被正确更改,但是屏幕上仍然会显示用户输入以及我之前输入的框和文本。您正在检查
event.type==pygame.K\u BACKSPACE
它应该是event.key==pygame.K\u BACKSPACE
:
...
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_BACKSPACE: # <-- key instead of type
user_input = user_input[:-1]
elif event.key == pygame.K_RETURN: # <-- key instead of type
user_input = ''
else:
user_input += event.unicode
print (user_input)
...
。。。
elif event.type==pygame.KEYDOWN:
if event.key==pygame.K_BACKSPACE:#谢谢你,在这之前我真的把代码改成了key,愚蠢的错误lol。我还添加了一个if语句来检查event.codeisalpha()是否
...
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_BACKSPACE: # <-- key instead of type
user_input = user_input[:-1]
elif event.key == pygame.K_RETURN: # <-- key instead of type
user_input = ''
else:
user_input += event.unicode
print (user_input)
...