PyAutoGui - 按键X秒

问题描述 投票:3回答:1

我正在制作一个按下'w,a,s,d'键的脚本,以便在任何游戏中移动角色。为此,我需要按下“w”键一段特定的时间。我怎样才能做到这一点?

我想到了类似的东西:

pyautogui.keyDown('w')
time.sleep(2)
pyautogui.keyUp('w')

但是这只是暂停整个程序而没有按键被按下,所以这对我没用。

python input controls key pyautogui
1个回答
1
投票

pyautogui.keyDown()的doc-string中所述:

在没有发布的情况下执行键盘按键操作。这将使该键处于停滞状态。

注意:由于某种原因,这似乎不会导致键盘重复,如果在文本字段上按住键盘键会发生。


你需要一个不同的方法 - 你可以使用pygame - with this

或者,如果你想留在pyautogui你可以尝试这样的事情:

def hold_W (hold_time):
    import time, pyautogui
    start = time.time()
    while time.time() - start < hold_time:
        pyautogui.press('w')
© www.soinside.com 2019 - 2024. All rights reserved.