Клик в нужный момент
Захотел сделать "автоклик" в игре. Суть в том, чтобы кликать мышкой в тот момент, когда бегущий треугольник находится в зеленой зоне. Из последнего (более-менее рабочего) (срабатывало 1 раз из 10, все остальное время мышь куда-то уезжает =(
Вот видео для примера что хочу....
import cv2
import numpy as np
import pyautogui
import time
# Загрузка изображения для поиска
template = cv2.imread('image.png')
template_height, template_width, _ = template.shape
# Функция для поиска изображения на экране и клик мышкой
def find_and_click(image, template):
# Снять скриншот
screenshot = pyautogui.screenshot()
screenshot = cv2.cvtColor(np.array(screenshot), cv2.COLOR_RGB2BGR)
# Найти совпадения
result = cv2.matchTemplate(screenshot, template, cv2.TM_CCOEFF_NORMED)
threshold = 0.8 # Установите порог для совпадения
locations = np.where(result >= threshold)
# Клик по всем найденным местам
for point in zip(*locations[::-1]):
# Рассчитать координаты центра совпадения
center_x = point[0] + template_width // 2
center_y = point[1] + template_height // 2
# Клик мышкой
pyautogui.click(center_x, center_y)
print(f'Clicked at: ({center_x}, {center_y})')
# Вы можете добавить небольшую паузу между кликами, если необходимо
time.sleep(0.1)
if __name__ == "__main__":
while True:
find_and_click(pyautogui.screenshot(), template)
time.sleep(1) # Пауза перед следующим поиском