函数:findMultiColor 高级区域多点找色

函数功能:在指定区域,根据颜色以及其周边点的颜色,寻找所有符合条件的点的坐标,支持模糊查找

TSLib 版本:仅支持 v1.3.1 及其以上版本

函数方法

findMultiColor(color,posandcolor,degree,x1,y1,x2,y2,table)

参数 类型 字段 说明
color number 必填 欲寻找的参照点颜色
posandcolor string 必填 周边点颜色参数
degree number 必填 寻找精度,范围:1 ~ 100,当是 100 时为完全匹配
x1 number 必填 找色区域左上角顶点屏幕横坐标
y1 number 必填 找色区域左上角顶点屏幕纵坐标
x2 number 必填 找色区域右下角顶点屏幕横坐标
y2 number 必填 找色区域右下角顶点屏幕纵坐标
table table 选填 高阶用法,详细用法详见 findMultiColorInRegionFuzzy 函数

高阶用法

参数 类型 字段 说明
orient number 选填 0 - 8,代表找色方向,详见注意事项,支持版本详见注意事项
main number 选填 参照点的偏色,支持引擎版本 iOS v2.4.1,Andriod v2.3.5.4 以上版本
例如 main = 0x101010(十六进制)
list number 选填 周边点的偏色,支持引擎版本 iOS v2.4.1,Andriod v2.3.5.4 以上版本
例如 list = 0x202020(十六进制)
count number 选填 设置查找结果数量,默认返回所有符合条件的参照点的坐标
仅支持引擎版本 iOS v3.0.7,Android v3.1.3 及其以上版本
miss number 选填 单位:像素,过滤返回值中在此参数范围内的坐标
返回值 类型 说明
point table 以 table 形式返回所有符合条件的参照点的坐标,如未找到则返回的 table 为空

返回的 table 为以下形式:

table = {
    {x = 100,y = 110},
    {x = 200,y = 210},
    {x = 300,y = 310},
    ...
}

函数用例:

require "TSLib"
--参数 miss 仅支持 TSLib v1.3.1 以及以上版本
point = findMultiColor(0x969696,"6|1|0x969696,1|12|0x969696,-4|0|0x969696",90,683,236,732,663,{miss = 3})
if #point ~= 0 then  --如返回的table不为空(至少找到一个符合条件的点)
    for var = 1,#point do
        nLog(point[var].x..":"..point[var].y)
    end
end

注意事项:

  1. posandcolor 参数中的坐标为相对坐标。
  2. 多点找色的代码可直接用触动精灵取色工具生成。
  3. 颜色值的十六进制文本中,其顺序为 RGB。
  4. 相对于第一个点的坐标,即用这个点的横坐标、纵坐标分别减去第一个点的横坐标、纵坐标,可以为负数。
  5. 使用此函数时精度参数设置过低,会导致性能大幅下降。
  6. 引擎版本 iOS v2.4.5-9,v3.0.0-118 以上版本,如果 orient = 1 - 8 按方向进行查找,只要目标点在查找范围内,不需要基准点须在查找范围之内。
  7. 引擎版本 Andriod v2.3.5.4 以上版本,如果 orient = 0 - 8 按方向进行查找。
Copyright 北京帮你玩科技有限公司 2020 all right reserved,powered by Gitbook该文章修订时间: 2020-02-24 21:56:42

results matching ""

    No results matching ""