现在触摸提供的多点找色是先找到第一基准点后 然后以第一个点为基准点 找剩下的点 剩下点的坐标不能加范围 而就固定就一个坐标 3d游戏没有这个功能很难识别 人物移动一下 要找的目标点大小就会发生变化 人物视角移动一下 角度改变 目标点大小又不一样了 所以想要一个类似触摸提供的多点找色函数基础上加个范围 找 第二个点 第三个点 第n个点坐标时可以设置坐标范围
function findColorEX(t,f,x1,y1,x2,y2)
screen.keep(true)
local list = screen.findColor(t[1],f,x1,y1,x2,y2,true)
for k,v in pairs(list) do
local flag = true
for i = 2,#t,5 do
local x,y = screen.findColor(t[i+4],f,v.x+t[i]-t[i+1],v.y+t[i+2]-t[i+3],v.x+t[i]+t[i+1],v.y+t[i+2]+t[i+3])
if x == -1 and y == -1 then
flag = false
break;
end
end
if flag then
screen.keep(false)
return v.x,v.y
end
end
screen.keep(false)
return -1,-1
end
function main()
x,y = findColorEX({0x060707, 11,10, 3,10, 0xCF9E89, 8,10, 7,10, 0x080808, 2,10, 12,10, 0xCE9E88, 8, 10,17,10, 0xF4F4F4}, 90, 0,0,700,1000)
sys.log(x..":"..y)
end