zm.CmpColorExTap 超级多点比色点击

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

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","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

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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: 加入命令