我剛剛爲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