我该如何使我的机器人弹钢琴的速度更快?

问题描述

我编写了一个机器人程序,以在计算机上播放在线版本的钢琴砖。它会不断检查屏幕上像素的颜色,以查看是否存在可单击的图块,如果存在,则我的机器人执行一项功能来单击屏幕上的该点。一切正常,但我想加快机器人检测像素并单击那些斑点的速度。任何帮助表示赞赏。代码如下:

from pyautogui import *
import pyautogui
import time
import keyboard
import random
import win32api,win32con


def click(x,y):
    win32api.SetCursorPos((x,y))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0)
x_coord = 480
x = 0

while keyboard.is_pressed("q") == False:
    x = x + 1
    print(x)
    if pixel(481,x_coord)[0] == 17:
        click(481,x_coord)
    elif pixel(581,x_coord)[0] == 17:
        click(581,x_coord)
    elif pixel(681,x_coord)[0] == 17:
        click(681,x_coord)
    elif pixel(781,x_coord)[0] == 17:
        click(781,x_coord)

如果您需要有关代码或游戏的更多信息,请发表评论,我会尽力答复。

解决方法

首先,您需要检查反应时间。这应该使您对问题有更好的了解。如果它太高,如 seconds ,则可能是有关像素的检测方式的问题。

如果反应时间不错,但是您想获得更多,则可以尝试其他库。我现在找不到一个,但是我敢肯定,如果您使用正确的关键字,就可以轻松找到。我记得使用的是比pyautogui更快的速度。