[英]Registering keystrokes using pygame
我正在嘗試使用pygame通過將鍵擊從事件隊列中拉出來注冊鍵擊。 我能夠檢索密鑰,但是無法從隨后的其余信息中提取密鑰。 它是這樣的:
[<Event(2-KeyDown {'unicode': 'r', 'key': 114, 'mod': 0, 'scancode': 19})>]
我嘗試將其視為字符串,列表,元組和字典,但是沒有任何有用的東西。
這是我用來從事件隊列中獲取信息的代碼:
def get_key():
event = pygame.event.poll()
if event.type == pygame.KEYDOWN:
key_list.append(event)
您應該只能夠直接訪問屬性:
In [1]: import pygame
In [2]: pygame.init()
Out[2]: (6, 0)
In [3]: event = pygame.event.poll()
In [4]: event
Out[4]: <Event(2-KeyDown {'scancode': 0, 'key': 310, 'unicode': u'', 'mod': 0})>
In [5]: event.key
Out[5]: 310
請參閱此pygame示例 。
您發布的內容看起來更像是事件列表 ,而不是單個事件。 您確定使用的是pygame.event.poll
而不是pygame.event.get
嗎?
聽起來您只需要事件的unicode
屬性即可。 另外,使用pygame.event.get()
而不是poll
來獲取所有擊鍵。
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
key_list.append(event.unicode)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.