zm.CmpColorExTap 超级多点比色点击
🎯功能
与zm.CmpColorEx 超级多点比色类似, 区别在于本命令内置对比成功后点击, 无需是否点击
参数, 由于对比与点击是两个动作组成, 为方便代码阅读理解, 故新增本命令
📜语法
结果 = zm.CmpColorExTap([对象][颜色组, ...][, 颜色相似度[, 智能颜色相似度[, 颜色相似度步长]]][, 数量相似度][, 对比超时][, 点击坐标][, 显示日志][, 输出行号][, 备注][, 等待消失][, 消失超时][, 参数返回值])
📥参数
参数 | 数据类型 | 解释 |
---|---|---|
对象 | 表 | 可选, 把所有参数放入一个table中传入, 若后面跟有其他参数, 则会对应覆盖对象数据 |
颜色组 | 字符串 | 可选, 需要对比的点xy坐标和16进制颜色, 格式为(X坐标|Y坐标|16进制颜色), 多个颜色用“|”号分隔, 需要偏色用“-” 号分隔, 多个点信息用“, ”号分隔, 比如"100|200|FFFFFF|123456-000000,300|500|FFFFFF", 支持填写多组不同的颜色组 |
颜色相似度 | 数值型 | 可选, 对比查找的颜色相似度小数, 省略默认为0.9 , 取值范围[0, 1.0] , 越高越相似 |
智能颜色相似度 | 数值型 | 可选, 与颜色相似度组成组成智能相似计算范围, 适合图色变化大的情况, 省略默认取值与颜色相似度 相同, 取值范围[0, 1.0] , 越高越相似 |
颜色相似度步长 | 数值型 | 可选, 智能颜色相似度调节变化间隔, 必须写在颜色相似度 和智能颜色相似度 后面, 省略默认为0.05 , 取值范围[0, 1.0] |
数量相似度 | 字符串 | 可选, 一组颜色组中符合条件的颜色数量比值, 注意是字符串数据类型, 省略默认为"1.0" , 取值范围["0", "1.0"] , 越高越相似 |
对比超时 | 数值型 | 可选, 限时对比时间, 单位毫秒, 如果一次找不到, 可以限时循环查找, 省略默认为1 |
点击坐标 | 字符串 | 可选, 点击修改后的坐标, 格式"±x,±y,t" , 省略为对比成功组的第一点坐标, t 是可选的, 表示点击后延时毫秒, 例如"100,100" 表示固定点击坐标100,100, "+10,-10" 表示偏移点击对比成功组的第一点坐标的x+10,y-10 位置, "10,10,2000" 表示点击10,10 坐标后延时2000毫秒, 该参数会受zm.SetTap 设置超级点击影响 |
显示日志 | 字符串 | 可选, 输出调试日志信息, 省略默认为"隐藏", 支持 ["显示","显示找到", "显示没找到","隐藏","show", "showfind", "shownofind","hide"] 这几个值 |
输出行号 | 字符串 | 可选, 格式为"_" 开头后跟行号, 比如"_10" 表示第10行代码, 输出调试信息窗口显示第几行代码, 需开启显示日志才有效 |
备注 | 字符串 | 可选, 格式为"@" 开头后跟内容, 在调试日志信息中加入该内容, 比如"@拾取屠龙刀" , 若连续两个"@@" 则表示在浮窗中显示信息, 需要开启显示日志才有效 |
等待消失 | 数值型 | 可选, 填写-1 禁用或-2 启用, -2 表示找到后或点击后继续查找, 直到找不到或消失超时, 省略默认为-1 , 启用后返回值将有miss 键名, 值为true 时表示成功消失, 值为false 表示未消失 |
消失超时 | 数值型 | 可选, 填写负数 , 表示等待消失的超时时间, 单位毫秒, 注意必须填写负数, 不可填-1 和-2 , 省略默认为-2000 |
参数返回值 | 表 | 可选, 只能传入数组变量名, 用于保存查找结果, 格式与命令返回值相同 |
📤返回
table
, 返回符合要求的第一个点坐标并保存到表中, 格式为 {id, x, y, name, "id":id, "x":x, "y":y, "name":name, "miss":miss}
, 对比失败或出错返回null
💡示例
Import "zm.luae" //导入插件,只需执行一次
zm.Init //初始化插件,只需执行一次
Dim ret
//省略点击坐标参数情况下, 默认点击的坐标是对比成功的颜色组第一个点
//比如"205|177|0CBB00,228|169|FFFFFF"对比成功, 那么点击的坐标就是(205,117)
ret = zm.CmpColorExTap("205|177|0CBB00,228|169|FFFFFF", "61|340|3DC3EE")
If ret Then
TracePrint "对比颜色成功, 执行点击操作"
Else
TracePrint "对比颜色失败"
End If
//如果加入点击坐标参数("100,-20,3000"), 那么点击坐标将发生改变, 以返回坐标(205,177)为例
//实际点击坐标是(100,177-20=157), 并且点击后延时3000毫秒
//更多关于点击坐标参数格式请查看参数信息里的内容
ret = zm.CmpColorExTap("205|177|0CBB00,228|169|FFFFFF", "61|340|3DC3EE", "100,-20,3000")
If ret Then
TracePrint "对比颜色成功"
Else
TracePrint "对比颜色失败"
End If
//其他更多例子见zm.CmpColorEx()命令, 本命令除了强制点击外, 无其他区别
📘备注
- 内置找到后点击坐标, 无法取消, 建议需要点击操作的超级图色使用本命令, 方便代码阅读理解
- 该命令用法灵活多变, 更多用法请大家自行摸索, 灵活使用输出日志可以事半功倍
- 多点比色颜色组数据请通过抓抓进行获取
- 偏色是微调,指对RBG三色分别确定取色范围。颜色相似度是粗调,指对颜色整体做百分比判断。
- 数量相似度是指颜色组对比成功点的比例, 例如
"1|1|3DC3EE,2|2|346AFF,3|3|1592FF,4|4|1592FF,5|5|231209,6|6|241306,7|7|201004,8|8|241306,9|9|241306"
这组多点比色数据有9个点, 如果数量相似度填写"0.8"
就意味着对比成功条件是0.8*9=7.2
个点以上符合要求, 而点的个数肯定是整数, 所以就是必须要8个点或9个点才能算对比成功 - V3.1830: 加入命令