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