我是 Python 新手,我刚刚用 Python 制作了一个游戏和一个菜单。问题是,使用 (raw_)input() 需要我在每次按键后按回车键,我想这样做,以便按下向下箭头将立即选择下一个菜单项,或在游戏中向下移动。目前,它要求我喜欢输入“向下”,然后按 Enter。我也做了很多研究,但我不希望仅仅为了实现一个 keyDown() 方法而下载巨大的模块(例如 pygame)。那么有没有更简单的方法,我只是找不到?
编辑:
刚刚发现可以解决问题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':
...
等等......有什么帮助吗?