66 封装一个多点找色 找到第一个基准点后 找剩下的点时加个范围 而不是就固定一个点?

发布于 2020-12-27 16:11:06

现在触摸提供的多点找色是先找到第一基准点后 然后以第一个点为基准点 找剩下的点 剩下点的坐标不能加范围 而就固定就一个坐标 3d游戏没有这个功能很难识别 人物移动一下 要找的目标点大小就会发生变化 人物视角移动一下 角度改变 目标点大小又不一样了 所以想要一个类似触摸提供的多点找色函数基础上加个范围 找 第二个点 第三个点 第n个点坐标时可以设置坐标范围

查看更多

关注者
0
被浏览
974
Evan
Evan 认证专家 2020-12-27
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
1 个回答

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览