源码和apk文件:成语大家族.rar - 蓝奏云
最近成语大家族非常火爆,火爆的原因就是收益高呗。所以我也参与了一下写了个辅助自己刷刷刷了一下感觉还可以。主要有这么几个简单的功能:
- 自动抢红包
- 自动看ad
- 自动关闭ad和返信息
- 自动提现
此软件是使用autojs pro 7编写的,虽然7这个破解版不是很好,但是支持找图,还是使用了。本次核心技术就是找图我自己编写的方法还不错支持多个图片一起找。
核心代码
找图方法
/** * 找图,找到并点击 * @param {可以是数组也可以是字符串,传输数组可以多次找图知道找到为止} img_path_array * @param {找图区域,默认是全屏找图,该参数可以不传输} area_region * @param {相似度,默认是0.8,可以不传输} threshold * @returns true表示执行成功Flase表示失败 */ Tools.clickAreaForFindImage=function(img_path_array, area_region, threshold,is_continue) { try { area_region = area_region || [0, 0, device.width, device.height] //默认的找图区域 全屏找图 前2位是坐标 后面是长度和宽度 千万别理解成是坐标 threshold = threshold || 0.8 // 默认的相识度0.8 is_continue=is_continue|| false if (img_path_array instanceof Array) { let arrayLength = img_path_array.length for (let i = 0; i < arrayLength; i++) { //toastLog("正在进行第" + (i + 1) + "次找图...") img_path = img_path_array[i] //小图地址可判断是否存在 if (!files.exists(img_path)) { toastLog(img_path + "文件不存在因此跳过") continue } var little_image = images.read(img_path) //小图 var find_result_bounds = findImage( captureScreen(), little_image, { region: area_region, threshold: threshold }); if (find_result_bounds) { toastLog(img_path+"图找到,准备点击坐标:" + find_result_bounds) click(find_result_bounds.x, find_result_bounds.y) return true } else { //toastLog(img_path+"小图存在但是在大图中未找到图片进入下一次循环...") } } return false } if (typeof (img_path_array) == "string") { img_path = img_path_array//小图地址可判断是否存在 if (!files.exists(img_path)) { toastLog(img_path + "文件不存在因此跳过") return false } var little_image = images.read(img_path) //小图 var find_result_bounds = findImage( captureScreen(), little_image, { region: area_region, threshold: threshold }); if (find_result_bounds) { toastLog(img_path+"图找到,准备点击坐标:" + find_result_bounds) click(find_result_bounds.x, find_result_bounds.y) return true } else { //toastLog(img_path + "小图存在但是在大图中未找到图片") return false } } } catch (error) { toastLog("clickAreaForFindImage方法出现错误:" + error) return false; } } Tools.clickRegionForFindImage=function(img_path_array, area_region, threshold,is_continue) { try { area_region = area_region || [0, 0, device.width, device.height] //默认的找图区域 全屏找图 前2位是坐标 后面是长度和宽度 千万别理解成是坐标 threshold = threshold || 0.9 // 默认的相识度0.85 is_continue=is_continue|| false if (img_path_array instanceof Array) { let arrayLength = img_path_array.length for (let i = 0; i < arrayLength; i++) { img_path = img_path_array[i] //小图地址可判断是否存在 if (!files.exists(img_path)) { toastLog(img_path + "文件不存在因此跳过") continue } var little_image = images.read(img_path) //小图 var find_result_bounds = images.matchTemplate( captureScreen(), little_image, { region: area_region, threshold: threshold, max: 100 }); if (find_result_bounds) { find_result_bounds.matches.forEach(match => { log(img_path+"point = " + match.point + ", similarity = " + match.similarity); click(match.point.x, match.point.y) }); if(is_continue || is_continue=="true"){ continue; } return true } else { //toastLog(img_path + "小图存在但是在大图中未找到图片进入下一次循环...") } } return false } if (typeof (img_path_array) == "string") { img_path = img_path_array//小图地址可判断是否存在 if (!files.exists(img_path)) { toastLog(img_path + "文件不存在因此跳过") return false } var little_image = images.read(img_path) //小图 var find_result_bounds = images.matchTemplate( captureScreen(), little_image, { region: area_region, threshold: threshold, max: 100 }); toastLog(find_result_bounds) if (find_result_bounds) { //toastLog(img_path + "图找到,准备点击坐标:" + find_result_bounds) click(find_result_bounds.x, find_result_bounds.y) return true } else { //toastLog(img_path + "小图存在但是在大图中未找到图片") return false } } } catch (error) { toastLog("clickRegionForFindImage方法出现错误:" + error) return false; } }
整个工程截图:
项目文件和压缩文件内容:
源码和apk文件:成语大家族.rar - 蓝奏云
感谢您的支持
学习知识费力气,
收集整理更不易。
知识付费甚欢喜,
为咱码农谋福利。