Find.Cmp 多点比色

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

功能

优化多点比色CmpColorEx()命令。

语法

结果 = Find.Cmp(颜色组[,属性表])

参数

参数 数据类型 解释
颜色组 字符串 CmpColorEx多点比色的颜色组
属性表 _表_ 可选参数,用于设置多点比色模式,格式为{“属性名”:”属性值”,…},详见下方表。
属性名 数据类型 可选值列表 默认值 作用
sim 数值型 取值0到1之间 0.9 相似度,越高越相似
click 布尔型 任意值 False 注意非False和Null为真, 如果找到比色结果,是否点击第一个颜色点坐标
print 字符串型 任意值 “” 注意非False为真,当为真时输出此值(不支持数组型和布尔型),否则不输出内容;为调试输出

返回值

数值型,找到返回1,没找到返回0,找颜色组的第一点坐标保存在 Find.SetReturn() 设置的数组中。

示例

例子1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
'前三行代码必须在开头定义好,而且必须要有的
Import "Find.lua"
Dim XYA()
Call Find.SetReturn(XYA)

Dim 颜色数据Tab()'里面只放找色比色的颜色数据的值
颜色数据Tab["登陆cmp"] = "606|161|1365C2-050505,451|174|344C71-050505"

If Find.Cmp(颜色数据Tab["登陆cmp"]) = 1 Then
'XYA这里的值为 坐标X,坐标Y,1
TracePrint "找到登陆界面,点击","颜色组的第一点坐标为:",Join(XYA,", ")
'这里面XYA数组里面的元素值被函数Find.Cmp 改变成了坐标值
Tap XYA(0), XYA(1)
Else
'这里的值为 -1,-1,0
TracePrint "没有找到登陆界面",Join(XYA,", ")
End If
例子2
1
2
3
4
5
6
7
8
9
10
11
'前三行代码必须在开头定义好,而且必须要有的
Import "Find.lua"
Dim XYA()
Call Find.SetReturn(XYA)

Dim 颜色数据Tab()'里面只放找色比色的颜色数据的值
颜色数据Tab["登陆cmp"] = "606|161|1365C2-050505,451|174|344C71-050505"

'例子1与例子2实现的效果相同,只是代码精简了
Call Find.Cmp(颜色数据Tab["登陆cmp"], {"click":True, "print":"查找登陆界面", "sim":0.9})
TracePrint "比色返回的坐标情况",Join(XYA,", ")

备注

  • 找到的坐标和索引的值赋值到 Find.SetReturn 设置坐标返回值 设置的数组中
  • 使用本插件的三步骤(前三行代码)是
    • 第一行 : Import “Find.lua”
    • 第二行 : Dim XYA()
    • 第三行 : Call Find.SetReturn(XYA)
  • 在导入插件后,必须先定义返回坐标数组,并用 Find.SetReturn 设置坐标返回值 设置返回坐标数组