詳解Python中Pygame鍵盤事件

Pygame事件

pygame.event.EventType
'''
	• 事件本質上是一種封裝後的數據類型(對象)
	• EventType是Pygame的一個類,表示事件類型
	• 事件類型隻有屬性,沒有方法
	• 用戶可自定義新的事件類型
'''

事件類型及屬性

在這裡插入圖片描述

事件處理函數

在這裡插入圖片描述

鍵盤事件及類型的使用

鍵盤事件及屬性

pygame.event.KEYDOWN  #鍵盤按下事件
pygame.event.KEYUP   #鍵盤釋放事件

 event.unicode   #按鍵的unicode碼,平臺有關,不推薦使用
 event.key   # 按鍵的常量名稱
 event.mod   # 按鍵修飾符的組合值

按鍵的常量名稱

常量 描述
K_BACKSPACE 退格鍵(Backspace)
K_TAB 制表鍵(Tab)
K_CLEAR 清除鍵
K_RETURN 回車鍵(Enter)
K_PAUSE 暫停鍵 (Pause)
K_ESCAPE 退出鍵(Escape)
K_SPACE 空格鍵 (Space)
K_EXCLAIM 感嘆號
K_QUOTEDBL 雙引號
K_HASH 井號
K_DOLLAR 美元符號
K_AMPERSAND and 符號
K_QUOTE 單引號
K_LEFTPAREN 左小括號
K_RIGHTPAREN 右小括號
K_ASTERISK 星號
K_PLUS 加號
K_COMMA 逗號
K_MINUS 減號
K_PERIOD 句號
K_SLASH 正斜杠
K_0 0
K_1 1
K_2 2
K_3 3
K_4 4
K_5 5
K_6 6
K_7 7
K_8 8
K_9 9
K_COLON 冒號
K_SEMICOLON 分號
K_LESS 小於號
K_EQUALS 等於號
K_GREATER 大於號
K_QUESTION 問號
K_AT @ 符號
K_LEFTBRACKET 左中括號
K_BACKSLASH 反斜杠
K_RIGHTBRACKET 右中括號
K_CARET 脫字符
K_UNDERSCORE 下劃線
K_BACKQUOTE 重音符
K_a a
K_b b
K_c c
K_d d
K_e e
K_f f
K_g g
K_h h
K_i i
K_j j
K_k k
K_l l
K_m m
K_n n
K_o o
K_p p
K_q q
K_r r
K_s s
K_t t
K_u u
K_v v
K_w w
K_x x
K_y y
K_z z
K_DELETE 刪除鍵(delete)
K_KP0 0(小鍵盤)
K_KP1 1(小鍵盤)
K_KP2 2 (小鍵盤)
K_KP3 3(小鍵盤)
K_KP4 4(小鍵盤)
K_KP5 5 (小鍵盤)
K_KP6 6 (小鍵盤)
K_KP7 7 (小鍵盤)
K_KP8 8 (小鍵盤)
K_KP9 9 (小鍵盤)
K_KP_PERIOD 句號(小鍵盤)
K_KP_DIVIDE 除號(小鍵盤)
K_KP_MULTIPLY 乘號(小鍵盤)
K_KP_MINUS 減號(小鍵盤)
K_KP_PLUS 加號(小鍵盤)
K_KP_ENTER 回車鍵(小鍵盤)
K_KP_EQUALS 等於號(小鍵盤)
K_UP 向上箭頭(up arrow)
K_DOWN 向下箭頭(down arrow)
K_RIGHT 向右箭頭(right arrow)
K_LEFT 向左箭頭(left arrow)
K_INSERT 插入符(insert)
K_HOME Home 鍵(home)
K_END End 鍵(end)
K_PAGEUP 上一頁(page up)
K_PAGEDOWN 下一頁(page down)
K_F1 F1
K_F2 F2
K_F3 F3
K_F4 F4
K_F5 F5
K_F6 F6
K_F7 F7
K_F8 F8
K_F9 F9
K_F10 F10
K_F11 F11
K_F12 F12
K_F13 F13
K_F14 F14
K_F15 F15
K_NUMLOCK 數字鍵盤鎖定鍵
K_CAPSLOCK 大寫字母鎖定鍵
K_SCROLLOCK 滾動鎖定鍵
K_RSHIFT 右邊的 shift 鍵
K_LSHIFT 左邊的 shift 鍵
K_RCTRL 右邊的 ctrl 鍵
K_LCTRL 左邊的 ctrl 鍵
K_RALT 右邊的 alt 鍵
K_LALT 左邊的 alt 鍵
K_RMETA 右邊的元鍵
K_LMETA 左邊的元鍵
K_LSUPER 左邊的 Window 鍵
K_RSUPER 右邊的 Window 鍵
K_MODE 模式轉換鍵
K_HELP 幫助鍵
K_PRINT 打印屏幕鍵
K_SYSREQ 魔術鍵
K_BREAK 中斷鍵
K_MENU 菜單鍵
K_POWER 電源鍵
K_EURO 歐元符號

按鍵的修飾符

常量 描述
KMOD_NONE 沒同時按下組合鍵
KMOD_LSHIFT 同時按下左邊的 shift 鍵
KMOD_RSHIFT 同時按下右邊的 shift 鍵
KMOD_SHIFT 同時按下 shift 鍵
KMOD_CAPS 同時按下大寫字母鎖定鍵
KMOD_LCTRL 同時按下左邊的 ctrl 鍵
KMOD_RCTRL 同時按下右邊的 ctrl 鍵
KMOD_CTRL 同時按下 ctrl 鍵
KMOD_LALT 同時按下左邊的 alt 鍵
KMOD_RALT 同時按下右邊的 alt 鍵
KMOD_ALT 同時按下 alt 鍵
KMOD_LMETA 同時按下左邊的元鍵
KMOD_RMETA 同時按下右邊的元鍵
KMOD_META 同時按下元鍵
KMOD_NUM 同時按下數字鍵盤鎖定鍵
KMOD_MODE 同時按下模式轉換鍵
event.mod
'''
修飾符的按位或運算
event.mod = KMOD_ALT | KMOD_SHIFT
'''

代碼測試

import pygame,sys

pygame.init()

s = pygame.display.set_mode((600,400))
pygame.display.set_caption("hi 鍵盤")   
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
        elif event.type == pygame.KEYDOWN:
            if event.unicode == "":
                print("#",event.key,event.mod)
            else:
                print(event.unicode,event.key,event.mod)
    pygame.display.update()

獲取按鍵的unicode值

在這裡插入圖片描述

到此這篇關於詳解Python中Pygame鍵盤事件的文章就介紹到這瞭,更多相關Pygame鍵盤事件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: