【发布时间】:2019-11-05 02:47:26
【问题描述】:
所以我有这段代码来处理 pac-man 风格游戏的用户输入。
def receiving_inputs(self):
while True:
events = pg.event.get()
for event in events:
if event.type == pg.KEYDOWN:
if event.key == pg.K_UP:
self.move = 'n'
elif event.key == pg.K_RIGHT:
self.move = 'e'
elif event.key == pg.K_DOWN:
self.move = 's'
elif event.key == pg.K_LEFT:
self.move = 'w'
time.sleep(1/60)
threading.Thread(target=self.receiving_inputs).start()
当我按下键盘上的任何键时,我没有收到任何事件,但是,移动鼠标将使用此代码返回一个事件。
令人讨厌的是,这段代码在不在线程中时可以完美运行。即在程序的主循环中。
仅供参考,我想在这里使用一个线程来最小化 pygame 不注册按键的次数(我假设这是由于主循环中的其他事情)。
提前致谢。
【问题讨论】:
标签: python python-3.x pygame