Giter Site home page Giter Site logo

wuhuanyan / flymouse Goto Github PK

View Code? Open in Web Editor NEW
35.0 2.0 10.0 3.06 MB

跨系统平台的一款找色按键精灵。 主要运行原理为:检测屏幕上多点像素的颜色值,如果颜色值全部符合,则用鼠标点击设定的点(或者执行其他命令)。

License: GNU General Public License v3.0

Python 100.00%

flymouse's Introduction

FlyMouse

跨系统平台的一款找色按键精灵

主要运行原理为:检测屏幕上一点或多点像素的颜色值(最多可以10个点),如果颜色值全部符合,则用鼠标点击设定的点(或者执行其他命令)。

为什么要找色?与传统录制脚本的按键精灵比较:

  • 更快:传统录制脚本按键精灵,因为是人工操作鼠标、键盘,移动鼠标键盘以及人脑思考,这导致停顿时候需要花费脚本等待时间。但同样地,你需要把运行脚本的时间消耗在制作脚本的过程中。
  • 更准确:当脚本正在运行,突然弹出窗体,比如说QQ广告,杀毒提示,这时候传统录制脚本按键精灵还在傻傻的执行。又或者,这边录制了脚本,在机器运行流畅时执行没问题,但在机器卡顿时,点击某个按钮,程序未反应过来,脚本又在傻傻滴继续执行。
  • 容错率:当出现上面的状况时,传统录制脚本按键精灵只能从头开始了,但找色按键精灵可以在重试等待屏幕色点检测通过后继续执行,避免了机器卡顿产生的差异性。即便是有其他窗体阻挡,找色按键精灵由于检测屏幕色点失败,重试后仍未解决,便会记录当前执行步骤,下次可以继续从此步骤执行。

运行截图

Run screenshots

下面将根据各个区域进行功能介绍。

找色区域

找色点:需要检测的屏幕坐标以及该点的RGB

  • 每个色点对应快捷键F1~F9(注意:由于没有全局热键,这里需要在程序内才能使用)

清空:清空对应找色点已经录入的信息

单击坐标:需要点击的屏幕坐标以及该点的RGB

  • 该点快捷键为F10(注意:由于没有全局热键,这里需要在程序内才能使用)
  • 该配置项与配置区域-单击颜色功能有关联设定,设置是否将该点的RGB值也作为检测色点,默认为忽略。

配置区域

单击颜色:设置是否将单击坐标点的RGB值也作为检测色点,默认为忽略。

按钮类型:设置点击鼠标左键右键

前置等待:执行检测前的等待时间

单击次数:单击次数。

重试次数:检测屏幕色点失败后是否需要重试,以及重试多少次的设定。

重试等待: 重试前需要等待时间

  • 重试等待不包含前置等待,即前置等待配置只会在执行第一次检测前执行一次sleep(int)。

代码区域(原功能区域)

重置色点:清空所有色点已经录入的信息。

  • 不包含单击坐标

生成代码:将上方设定的色点单击坐标,以及配置区域生成执行代码。

  • 代码会生成至下方的代码编辑框

测试代码:执行代码编辑框中的代码。

  • 如果执行成功,代码编辑框字体会变成绿色,否则为红色。

保存代码:将代码编辑框中的代码保存到sqlite数据库。

  • 该功能尚未开发。

调试区域

  • 该功能尚未开发。
  • 该区域有重新执行从此行开始执行暂停停止功能。
  • 下方会有一个QTableWidget控件,显示已经添加到sqlite数据库的脚本代码。
  • 双击QTableWidget控件中的行,弹出修改信息窗体,可以手动修改代码执行顺序备注是否启用代码内容等信息。
  • 另外QTableWidget控件中的行有代码上移代码下移是否启用删除代码等按钮。

安装搭建

安装依赖库

  • pip install pyqt5==5.9
  • pip install pynput
  • pip install pyscreeze
  • pip install colorama
  • pip install sqlalchemy

启动

  • python main.py

使用示例

Demo screenshots

  • 注意:部分程序的按钮,在鼠标悬停时会有提示出现,提示信息阻挡了读取按钮的颜色,这些情况可能导致按下快捷键时读取色点颜色值不同。

应用场景

  • 一些需要重复工作的场景
  • 抢红包(虽然,检测效率感人,但在Windows系统上可以有更快的速度)
  • 制作游戏脚本

开发计划

  • 增加调试区域模块
  • 增加键盘操作功能,可以参考pynput文档
  • 增加全局热键功能,可能较难实现
  • 优化在OS X和Linux屏幕检测,可能较难实现(目前是使用截图,速度较慢)

各平台说明

Windows: 未测试

  • Windows可以使用win32加快屏幕检测速度, 或者阅读pyscreezepixel(x, y)源码后对本程序进行修改。

Linux: 未测试

OS X: 已测试

  • 由于不能调用API,找了很多途径都没办法解决读取屏幕坐标颜色值,只能通过截图后通过PIL读取颜色值。
  • 执行一次屏幕检测需要耗时0.4~0.6秒。

QQ:442487605

更新说明

2019-05-15

  • 初次提交
  • 增加回调函数功能
  • 增加保存代码功能

2019-05-16

  • 重构界面,各区域界面分别写成单独的类

flymouse's People

Contributors

wuhuanyan avatar

Stargazers

 avatar  avatar  avatar 芦苇浮绿水 avatar  avatar  avatar  avatar  avatar  avatar wangyunlu avatar  avatar 流星如此卑微 avatar  avatar 空空空空 avatar Binean avatar CuiRay avatar  avatar ZEKU avatar  avatar bobwong avatar 雨幕 avatar  avatar  avatar Curab7 avatar Skull-Lee avatar  avatar  avatar  avatar Tim avatar  avatar  avatar maoring avatar  avatar  avatar 我只是习惯了沉默 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.