【准备】
安装Python环境,我这里推荐Anaconda+Pycharm。 用Pip install导入如下包到当前环境。 pywin32,keyboard,pyautogui,opencv-python。
【脚本】引入需要的包:
from pyautogui import *
import pyautogui
import time
import keyboard
import random
import win32api, win32con
点击功能,从性能考虑,采用win32方法:
def click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)
最后就是主逻辑:
while keyboard.is_pressed('q') == False:
if pyautogui.pixel(581, 400)[0] == 0:
click(581, 400)
if pyautogui.pixel(682, 400)[0] == 0:
click(682, 400)
if pyautogui.pixel(770, 400)[0] == 0:
click(770, 400)
if pyautogui.pixel(869, 400)[0] == 0:
click(869, 400)
while表示退出机制,按下按键Q就退出识别。 While内的是识别逻辑,其中pyautogui.pixel是核心方法。 可以通过这个方法指定识别某一个坐标的像素。 【0】代表Red,【1】代表Green,【2】代表Blue 示例这段代码的意思是分别Check屏幕上从左到右的四个位置点。 如果含有红色就摁下,没有红色就不摁。 这端代码原本被用于四列排开的钢琴按键游戏。 琴键虽然是黑色,但是黑色包括了R段,所以会被识别并按下。