Меня вдохновило кодовое видео, где он сделал бота, который играет в игру Storm the house. Мой бот работает до тех пор, пока больше нет врагов, поэтому я знаю, что эта ошибка вызвана тем, что на экране нет черного пикселя. Я пытался использовать какое-то время l oop:
while coords[0][1]>0:
, но это не помогло
код:
import mss
import mss.tools
import time
import cv2
import numpy as np
import pyautogui
i=0
pyautogui.PAUSE = 0.01
with mss.mss() as sct:
time.sleep(5)
while True:
monitor = {"top": 470, "left": 935, "width": 1065, "height": 870}
sct_img = sct.grab(monitor)
mss.tools.to_png(sct_img.rgb, sct_img.size, output='map.png')
print(i)
i+=1
image = cv2.imread('map.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
threshold_level = 50
coords = np.column_stack(np.where(gray < threshold_level))
pyautogui.click(coords[0][1]+935,coords[0][0]+470)
Это вывод:
File "c:/Users/*******/Desktop/code/screenshot_test.py", line 26, in <module>
pyautogui.click(coords[0][1]+935,coords[0][0]+470)
IndexError: index 0 is out of bounds for axis 0 with size 0