跳到主要内容

屏幕多点找色 (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