使用Pygame,我现在有一个循环:
def quest_loop():
i = 0
while i < len(quests):
event = pygame.event.wait()
if event.type == KEYDOWN and event.key == K_F4:
screen.fill(BLACK)
message_display(*normal_message, quests[i], wrap_text)
i += 1
pygame.event.clear()
我已经为一个游戏创建了一个小的覆盖,它通过我在代码前面生成的数组进行循环。你知道吗
这是完美的工作,但只有当我有pygame窗口选择。我想让它听特定的F4键,即使它没有被选中。我尝试过使用win32api模块,但没有取得很大成功。虽然我设法让代码工作,但有许多问题我无法解决。你知道吗
谢谢你的帮助。你知道吗
更新:
我又看了一遍win32api,并设法纠正了一个重复出现的问题(只需按一下键就会在我的列表中重复多次)。此代码解决了此问题:
`def key_press():
global was_pressed
if was_pressed == False and quest_forward() == True:
was_pressed = True
return True
if was_pressed == True and quest_forward() == True:
return False
if was_pressed == True and quest_forward() == False:
was_pressed = False
return False`
我要处理的下一个问题是,除非pygame窗口有焦点,否则无法识别输入。覆盖的当前状态并不是完全不可行,只是有点烦人。我已经看过pyHook,但我似乎无法将pythoncom.PumpMessages()
插入到我的代码中并使其工作。你知道吗
编辑:在尝试了许多不同的操作之后,当我试图维护pygame窗口时,我的事件处理程序似乎无法运行,我已经开始尝试使用wxPython和win32api。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐