我是Python的新手,我刚刚用Python制作了一个游戏和一个菜单。问题是,使用(raw_)input()要求我在每次按键后都按下Enter键,我想这样做,以便按下箭头将立即选择下一个菜单项,或者在游戏中向下移动。此刻,它要求我喜欢键入“
down”,然后按Enter。我也做了很多研究,但我不希望仅下载大型模块(例如pygame)来实现单个keyDown()方法。有没有更简单的方法,而我却找不到?
编辑:
刚发现那msvcrt.getch()可以解决问题。它不是keyDown(),但是可以工作。但是,我也不确定如何使用它,这似乎很奇怪,对您有帮助吗?这是我现在得到的:
from msvcrt import getch
while True:
key = getch()
print(key)
但是,它一直给我所有这些无用的字节,例如,向下箭头是这样的:
b'\xe0'
b'P'
而且我不知道如何使用它们,我试图与chr()进行比较,甚至使用ord(),但实际上无法进行任何比较。我想做的基本上是这样的:
from msvcrt import getch
while True:
key = getch()
if key == escape:
break
elif key == downarrow:
movedown()
elif key == 'a':
...
等等…有什么帮助吗?