如何在Windows中停用键盘缓冲区?

2024-09-27 22:32:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用vPython编程。 这是一种游戏,但控制不能正常工作。在

while True:
    "verarbeitet Maus/Tastatureingaben"        
    if scene.kb:                        # wenn Aktion auf der Tastatur...
        druck=scene.kb.getkey()         # ...Tastendruck speichern!
        # ----Aktionen bei bestimmten Tasten---- #
        if druck == "w":            # vor
            self.bewegen(self.axis)
        elif druck == "s":          # zurück
            self.bewegen(-self.axis)

所以主要有两个问题:

  1. 不能同时按两个键。只有最新的一个正在工作。

  2. 如果按住一个键大约5秒,这个操作将花费更长的时间(我认为这是因为MS Windows在每次“命中”之后都会有一个小的休息)。

我希望你能帮助我!在


Tags: selftrue游戏ifkb编程scenewhile
2条回答

我对vPython了解不多。做场景.kb按键时返回真值?如果是这样,你可以这样做:

keys = []
while scene.kb:
    keys.append(scene.kb.getkey())

if "w" in keys and "s" in keys:
    // do something

是否尝试使用-u选项运行脚本:

python -u myscript.py

您可以找到有关此选项的文档here

根据文件:

^{pr2}$

相关问题 更多 >

    热门问题