pygame按鍵持續按下響應

2021-08-24 20:21:43 字數 1143 閱讀 3599

在寫乙個pygame 的乙個小的飛機大戰程式但是碰到乙個小問題,僅此記錄

通過鍵盤事件操控飛機的左右移動:

elif event.type == keydown:

# 檢測按鍵是否是a或者left

ifevent.key == k_a or

event.key == k_left:

plane_temp.move_left()

雖然能實現移動,但是每一次的移動都需要按一下按鈕,使我感覺很難受

想實現可以持續按下,並且可以相應的效果

查資料發現

pygame.key.set_repeat() control how held keys are repeated

set_repeat() -> none set_repeat(delay, interval) -> none when the

keyboard repeat is enabled, keys that are held down will generate

multiple pygame.keydown events. the delay is the number of

milliseconds before the first repeated pygame.keydown will be sent.

after that another pygame.keydown will be sent every interval

milliseconds. if no arguments are passed the key repeat is disabled.

when pygame is initialized the key repeat is disabled.

按鍵是預設只能按下一次,於是就取了乙個巧,檢視哪些按鍵是已進按下的,後通過迴圈實現對應操作

key_pressed = pygame.key

.get_pressed()

if key_pressed[pygame.k_a] or key_pressed[pygame.k_left]

plane_temp.move_left()

pygame的對應幫助文件:

學習總結 按下按鍵燈亮,再次按下按鍵,燈滅

1 主要實現按鍵控制燈的亮滅,按鍵按下,燈亮,再次按下,燈滅,主要對實現的邏輯進行控制,邏輯清晰,很簡單,實現的方法有兩種,方法1 將按鍵按下的值賦值給乙個變數,變數除以2的值的是基數或者偶數來確定燈亮還是燈滅,程式中設定的是變數的值除以2為0時,燈亮 變數的值除以2為1時,燈滅 程式如下 int ...

linux下獲取按鍵響應事件

linux下獲取按鍵響應事件 1 問題 通過乙個死迴圈將讀取鍵盤對應的裝置檔案將觸發鍵盤事件在螢幕上列印出來,按esc退出程式 是在unbuntu10.04編譯執行通過的 2 input event描述 在linux核心中,input裝置用input dev結構體描述,使用input子系統實現輸入裝...

python檢測按鍵按下 如何檢測按鍵是否被按下?

對於python,作為乙個新手,我嘗試著用一本指南來編寫我自己的遊戲。不過,在這個遊戲中,我試著檢測什麼時候乙個鍵一直被按住而不是僅僅按下。我使用的當前 不會使字元移動,而且如果沒有實現halt self,evt 會導致飛船在按住按鈕足夠長時間後無法控制地加速。在from tkinter impor...