Find.Col 找色

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

功能

寻找屏幕上指定的颜色,并返回找到的坐标,支持多色、偏色等。

语法

结果 = Find.Col([x1,y1,x2,y2,]颜色[,属性表])

参数

参数 数据类型 解释
x1 数值型 可选参数,表示找色范围左上角x坐标,省略默认为0,即全屏找色。
y1 数值型 可选参数,表示找色范围左上角y坐标,省略默认为0,即全屏找色。
x2 数值型 可选参数,表示找色范围右下角x坐标,省略默认为0,即全屏找色。
y2 数值型 可选参数,表示找色范围右下角y坐标,省略默认为0,即全屏找色。
颜色 字符串 待查找的BGR格式颜色,多个用“|”分开,支持偏色。
属性表 _表_ 可选参数,用于设置找色模式,格式为{“属性名”:”属性值”,…},详见下方表。
属性名 数据类型 可选值列表 默认值 作用
dir 整数型 取值0到8 0 找色方向
sim 数值型 取值0到1之间 0.9 相似度,越高越相似
click 布尔型 任意值 False 注意非False和Null为真, 如果找到比色结果,是否点击第一个颜色点坐标
print 数值型,字符串型 任意值 “” 注意非False为真,当为真时输出此值(不支持数组型和布尔型),否则不输出内容;为调试输出

返回值

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

示例

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

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

'例子1与例子2实现的效果相同,只是代码精简了
Call Find.Col("0000FF",{"click":True})
TracePrint "全屏找色的返回的坐标情况",Join(XYA,", ")
例子3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
'前三行代码必须在开头定义好,而且必须要有的
Import "Find.lua"
Dim XYA()
Call Find.SetReturn(XYA)

'全屏查找色("0000FF"),方向为1(同等 FindColor 里面的向方,从中心向四周查找),sim是相似度为0.8
If Find.Col("0000FF", {"dir":1,"sim":0.8}) > -1 Then
'XYA这里的值为:坐标X,坐标Y,找色的索引
TracePrint "全屏找到登陆界面,点击","找色的返回坐标为:",Join(XYA,", ")
'这里面XYA数组里面的元素值被函数Find.Img 改变成了坐标值
Tap XYA(0), XYA(1)
Else
'这里的值为 -1,-1,-1
TracePrint "没有找到登陆界面",Join(XYA,", ")
End If
例子4
1
2
3
4
5
6
7
8
'前三行代码必须在开头定义好,而且必须要有的
Import "Find.lua"
Dim XYA()
Call Find.SetReturn(XYA)

'例子3与例子4实现的效果相同,只是代码精简了
Call Find.Col(颜色数据Tab["登陆Mul"], {"click":True,"dir":1,"sim":0.8})
TracePrint "全屏找色返回的坐标情况",Join(XYA,", ")
例子5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
'前三行代码必须在开头定义好,而且必须要有的
Import "Find.lua"
Dim XYA()
Call Find.SetReturn(XYA)

'这行代码表示,在范围为100,100,200,300内找找色("0000FF")
If Find.Col(100,100,200,300,"0000FF") > -1 Then
'XYA这里的值为:坐标X,坐标Y,找色索引
TracePrint "范围内找到登陆界面,点击","范围内找色的返回坐标为:",Join(XYA,", ")
'这里面XYA数组里面的元素值被函数Find.Mul 改变成了坐标值
Tap XYA(0), XYA(1)
Else
'这里的值为 -1,-1,-1
TracePrint "没有找到登陆界面",Join(XYA,", ")
End If

备注

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