我刚刚为python 3.3下载了pygame 1.9.2,并且函数无法正常工作。空壳一直告诉我同样的错误:Keydown函数不能正常工作
NameError: name 'KEYDOWN' is not defined
我该如何解决这个问题?我对编程有点新,所以请你向我解释一下。
我刚刚为python 3.3下载了pygame 1.9.2,并且函数无法正常工作。空壳一直告诉我同样的错误:Keydown函数不能正常工作
NameError: name 'KEYDOWN' is not defined
我该如何解决这个问题?我对编程有点新,所以请你向我解释一下。
注意:对不起,删除我以前的答案,但堆栈溢出刚刚随机发布我的答案,我完成之前。
那么,可能有几件事情是错的。您可能正在使用pygame.key.keydown()
,这是错误的,您应该使用pygame.key.get_pressed()
。 但我怀疑你的代码有问题,那就是你没有正确使用pygame.KEYDOWN
。
如果你想同时键被按下做一些事情,用pygame.key.get_pressed()
,做这样的事情:
key = pygame.key.get_pressed()
if key[pygame.K_WHATEVER_KEY_YOU_WANT]:
# do code
,只是重复,每关键要检查。
如果你只是想检查是否被按下某个键时,使用pygame.KEYDOWN
与if语句,然后检查,如果你想关键嵌套被按下时,如果下声明第一if语句。像这样:
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_WHATEVER_KEY_YOU_WANT:
#do code
我假设你有你的使用遍历pygame.event.get()
功能“获取”事件的事件变量。如果没有那么这里是一个游戏/窗口以上循环代码:
running = True # variable to control while loop
while running: # while the variable running is equal to true
for event in pygame.event.get(): # use the variable 'event' to iterate over user events
if event.type == pygame.QUIT: # test if the user is trying to close the window
running = False # break the loop if the user is trying to close the window
pygame.quit() # de-initialize pygame module
quit() # quit() the IDE shell
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_WHATEVER_KEY_YOU_WANT:
#do code
这基本上是你如何使用pygame.KEYDOWN
。然而,这可能不是唯一的方法。我建议(因为您是编程新手)在他们的官方网站上阅读pygame docs以获取更多关于在pygame中检查密钥输入的信息。并阅读一些answers这个问题。
您可以将其添加到开始: 从pygame.locals导入* – LychmanIT
的可能的复制[NameError:不定义名称“KEYDOWN”(http://stackoverflow.com/questions/17556426/nameerror-name -keydown此结果不定义) – SiHa