我该如何使用Python创建一个按住键的脚本? (用于游戏)

时间:2020-03-18 20:51:44

标签: python

我正在尝试编写一个脚本,该脚本将按住W键(对于游戏,因此角色会自动向前移动),同时按住鼠标左键(对于游戏而言),直到按下某个键这将停止循环。

使用Spyder和Anaconda作为我的包裹管理器。 我已经尝试使用pynput和pyautogui,如下所示:

import pyautogui
import time

pyautogui.keyDown("w")
time.sleep(5)
pyautogui.keyUp("w") 

,以便将w键按住5秒钟,然后输入类似于以下内容的输出: wwwwwwwwwwwwwwww

我用pyinput尝试了类似的脚本,但是没有成功,因为w键只输出一次:

from pynput.keyboard import Key, Controller

keyboard = Controller()

keyboard.press('w')
time.sleep(5)
keyboard.release('e')

所以问题在于该脚本不会按住w,只需按一次 有没有一种简单的方法可以使用python做到这一点?谢谢

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

import time, pyautogui
def hold_w (hold_time):
    start = time.time()
    while time.time() - start < hold_time:
        pyautogui.press('w')

您还可以使用进行多次印刷

pyautogui.press('w', presses=10)

或者您可以修改上面的while逻辑以在另一次按键操作时退出。