屏幕多点找色 (screen.findColors)
函数
横坐标, 纵坐标 = screen.findColors(颜色值数组,[相似度 或色偏值] ,[是否匹配多个目标] ,[起始横坐标],[起始纵坐标] ,[结束横坐标] ,[结束纵坐标])
参数
-
颜色值数组 数组型
-
相似度或色偏值 整数型
可选参数 默认 90
-
匹配多个目标 文本型
可选参数
-
起始横坐标 整数型
可选参数 默认 0
-
起始纵坐标 整数型
可选参数 默认 0
-
结束横坐标 整数型
可选参数 默认 当前屏幕宽度
-
结束纵坐标 整数型
可选参数 默认 当前屏幕高度
返回值
-
屏幕横坐标 整数型
成功返回 屏幕横坐标 否则返回 -1
-
屏幕纵坐标 整数型
成功返回 屏幕纵坐标 否则返回 -1
-
坐标数组 数组型
当匹配多个目标启用时 返回坐标数组
说明
在一个屏幕区域内 查找完全匹配的多点颜色
示例
简单的示例 相似度模式
local x, y = screen.findColors({
{ 123, 177, 0x030712 },
{ 157, 96, 0xFD6303 },
{ 242, 196, 0x062C50 },
{ 126, 211, 0x011D32 },
{ 47, 138, 0x1C395B },
{ 80, 112, 0x092D4D },
} ,95)
if (x ~= -1 and y ~= -1) then
print(string.format("成功找到坐标 x = %d ,y = %d" , x ,y))
end
简单的示例 色偏模式
local x, y = screen.findColors({
{ 123, 177, 0x030712 },
{ 157, 96, 0xFD6303 },
{ 242, 196, 0x062C50 },
{ 126, 211, 0x011D32 },
{ 47, 138, 0x1C395B },
{ 80, 112, 0x092D4D },
} ,0x202020)
if (x ~= -1 and y ~= -1) then
print(string.format("成功找到坐标 x = %d ,y = %d" , x ,y))
end
简单的示例
local x, y = screen.findColors({
{ 123, 177, 0x030712 , 80 }, --设置这个点的 相似度为 80
{ 157, 96, 0xFD6303 , 0x202020}, --设置这个点的色偏模式
{ 242, 196, 0x062C50 }, --以下使用色偏模式 值为 0x202020
{ 126, 211, 0x011D32 },
{ 47, 138, 0x1C395B },
{ 80, 112, 0x092D4D },
} ,0x202020)
if (x ~= -1 and y ~= -1) then
print(string.format("成功找到坐标 x = %d ,y = %d" , x ,y))
end
简单的示例
local x, y = screen.findColors({
{ 123, 177, 0x030712 , 80 }, --设置这个点的 相似度为 80
{ 157, 96, 0xFD6303 , 0x202020}, --设置这个点的色偏模式
{ 242, 196, 0x062C50 }, --以下使用色偏模式 值为 0x202020
{ 126, 211, 0x011D32 },
{ 47, 138, 0x1C395B },
{ 80, 112, 0x092D4D },
} ,0x202020 , 100,100,300,300) --设置多点找色区域为 起始点 100,100 结束点 300,300
if (x ~= -1 and y ~= -1) then
print(string.format("成功找到坐标 x = %d ,y = %d" , x ,y))
end
简单的示例 匹配多个结果
local result = screen.findColors({
{ 123, 177, 0x030712 , 80 }, --设置这个点的 相似度为 80
{ 157, 96, 0xFD6303 , 0x202020}, --设置这个点的色偏模式
{ 242, 196, 0x062C50 }, --以下使用色偏模式 值为 0x202020
{ 126, 211, 0x011D32 },
{ 47, 138, 0x1C395B },
{ 80, 112, 0x092D4D },
} ,0x202020 , "find_all" ,100,100,300,300) --设置多点找色区域为 起始点 100,100 结束点 300,300
for k ,v in pairs(result) do
print(string.format("第 %d 个结果 x = %d, y = %d" ,k ,v[1] ,v[2]))
end