我目前正在编写一个按下“ w,a,s,d ”键的脚本,以便在任何游戏中移动角色。 为此,我需要按下“ w ”键一段特定的时间。我怎样才能做到这一点?
我想到了类似的东西:
pyautogui.keyDown('w')
time.sleep(2)
pyautogui.keyUp('w')
但这只是暂停了整个程序而没有按键被按下,所以这对我没用。
答案 0 :(得分:1)
如pyautogui.keyDown()
中的文档字符串中所述:
在没有发布的情况下按键盘键。这样就可以了 处于停滞状态的关键。
注意:出于某种原因,这似乎不会导致密钥重复就像 如果在文本字段上按住键盘键,则会发生。
您需要采用不同的方法 - 您可以使用pygame - with this
或者,如果你想留在pyautogui
,你可以尝试这样的事情:
def hold_W (hold_time):
import time, pyautogui
start = time.time()
while time.time() - start < hold_time:
pyautogui.press('w')