2024-05-19 09:47:10 发布
网友
我尝试使用pygame从事件队列中提取击键来注册击键。我可以检索到密钥,但无法从下面的其余信息中提取它。它看起来是这样的:
[<Event(2-KeyDown {'unicode': 'r', 'key': 114, 'mod': 0, 'scancode': 19})>]
我尝试过把它当作一个字符串、列表、元组和字典来处理,但是没有任何结果是有用的。在
这是我用来从事件队列获取信息的代码:
您应该能够直接访问属性:
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 example。在
您发布的内容看起来更像是一个事件列表,而不是单个事件。您确定使用的是pygame.event.poll而不是{}?在
pygame.event.poll
你得到的是一个Pygame ^{}对象。在
根据主题上的Pygamedocumentation,您可以通过__dict__成员访问其属性。在
__dict__
下面是一个示例(event.__dict__是一个dict对象):
event.__dict__
dict
>>> event.__dict__['key'] 114 >>> event.__dict__['mod'] 0
听起来您只需要事件的unicode属性。另外,使用pygame.event.get()而不是poll来获得所有的击键。在
unicode
pygame.event.get()
poll
for event in pygame.event.get(): if event.type == pygame.KEYDOWN: key_list.append(event.unicode)
您应该能够直接访问属性:
看这个pygame example。在
您发布的内容看起来更像是一个事件列表,而不是单个事件。您确定使用的是}?在
pygame.event.poll
而不是{你得到的是一个Pygame ^{} 对象。在
根据主题上的Pygamedocumentation,您可以通过
__dict__
成员访问其属性。在下面是一个示例(
event.__dict__
是一个dict
对象):听起来您只需要事件的
unicode
属性。另外,使用pygame.event.get()
而不是poll
来获得所有的击键。在相关问题 更多 >
编程相关推荐