這個問題在這里已經有了答案: 如何在pygame中獲得鍵盤輸入? (10 個回答) 4 小時前關閉。
當我試圖通過改變一個變數來讓我的角色行走時出現了我的問題,從而開始了一個影片。然而,問題是我得到了一個 AttributeError,其中“'Event' 物件沒有屬性 'key'”。我覺得很奇怪,因為我之前寫過這個確切的代碼,這個問題在以前的使用中從未出現過。我曾多次嘗試重寫代碼,將其放在事件檢查之外和內部,但沒有任何效果。
while turnoff == False:
screen.fill(white)
# event checks
for event in pygame.event.get():
if event.type == pygame.QUIT:
turnoff = True
elif event.type == pygame.MOUSEBUTTONDOWN:
#supposed to identify which key but can't make it work
if event.key == pygame.K_DOWN:
action -= 1
frame = 0
if event.key == pygame.K_UP:
action -= 3
frame = 0
我得到的錯誤是 if event.key == pygame.K_DOWN: AttributeError: 'Event' object has no attribute 'key'
uj5u.com熱心網友回復:
該MOUSEBUTTONDOWN事件沒有key屬性。但是,該KEDOWN事件有一個key屬性:
for event in pygame.event.get():
if event.type == pygame.QUIT:
turnoff = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_DOWN:
action -= 1
frame = 0
if event.key == pygame.K_UP:
action -= 3
frame = 0
uj5u.com熱心網友回復:
錯誤是您要求event.key事件是pygame.MOUSEBUTTONDOWN. 您只想在有pygame.KEYDOWN. 您的代碼應如下所示:
for event in pygame.event.get():
if event.type == pygame.QUIT:
turnoff = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_DOWN:
action -= 1
frame = 0
if event.key == pygame.K_UP:
action -= 3
frame = 0
uj5u.com熱心網友回復:
沒有這樣的key屬性MOUSEBUTTONDOWN:
只讀。事件的事件型別特定屬性。dict 屬性是向后兼容性的同義詞。
例如,KEYDOWN 事件的屬性將是 unicode、key 和 mod ( source )
但是,根據event.c的訊息來源,可能有button成員。也就是說,如果要檢查滑鼠按鈕。否則檢查event.type == pygame.KEYDOWN.
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/403761.html
標籤:
上一篇:從元組串列到資料框
下一篇:在for回圈中迭代變化的序列
