函数:findMultiColorInRegionFuzzy 区域多点找色

函数名称:多点找色,区域多点找色

函数功能:在指定区域,根据基准点颜色以及其周边参照点的相对坐标颜色,寻找符合条件的点的坐标,支持模糊查找。

函数方法

x, y = findMultiColorInRegionFuzzy(color,posandcolors,degree,x1,y1,x2,y2,tab)

参数 类型 必填 说明
color number 基准点颜色
posandcolors string 周边参照点颜色参数;
在周边参考点颜色值前加 ~ 表示与基准点颜色不匹配的颜色
(也可以加反色值),
此功能引擎版本仅支持 iOS v3.1.7 及其以上版本
degree number 寻找精度,范围:1 ~ 100,当是 100 时为完全匹配
x1 number 找色区域左上角顶点屏幕横坐标
y1 number 找色区域左上角顶点屏幕纵坐标
x2 number 找色区域右下角顶点屏幕横坐标
y2 number 找色区域右下角顶点屏幕纵坐标
tab table 高阶用法

高阶用法

参数 类型 必填 说明
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(十六进制)
max_miss number 最大不匹配数,默认 0,代表所有参考点都匹配;
1 代表其中 1 个点不匹配,仅支持引擎版本 iOS v3.0.7、
Android v3.1.3 及其以上版本
返回值 类型 说明
x, y number 返回符合条件的基准点的坐标,如未找到则返回 -1,-1

扩展阅读:区域多点找色的基础和高阶用法

函数用例

多方向找色方法

--tab 参数需要引擎版本:iOS 3.0.0-118,Android 2.3.5 以上支持
--max_miss 参数仅支持专业版 iOS v3.0.7 及其以上版本
x,y = findMultiColorInRegionFuzzy( 0x000000, "0|0|0x000000", 95, 0, 0, 500, 500,  { orient = 1,["max_miss"] = 3 } )

偏色用法

--另外一种偏色模式,引擎版本 iOS v2.4.1,Andriod v2.3.5.4 以上支持
--main 为参照点 0xffffff 的偏色,list 为参照点的偏色,如果想对每一个参照点单独偏色,在每一个偏色后面加上偏色值即可,如 "0|0|0x1ac819|0x202020"
x, y = findMultiColorInRegionFuzzy(0xffffff,"0|0|0x1ac819,-4|-208|0x18cb76,3|58|0x21cc79",90,0,0,500,500,{ main = 0x101010, list = 0x202020 })
dialog(x..","..y,0)

反色用法

--与基准点不匹配的颜色,也可以叫反色,可用于匹配不规则图形
--可用于找不固定位置广告右上角的 × 号,如 × 号的颜色是白色,周边参数点不是白色,可以使用此函数
fwShowWnd("window1",0,0,100,100,1)
fwShowTextView("window1","text1","","center","000000","ffffff",20,0,0,40,100,60,1)
fwShowTextView("window1","text2","","center","000000","ffffff",20,0,40,0,60,100,1)
mSleep(2000)
x,y = findMultiColorInRegionFuzzy( 0xffffff, "0xffffff,36|7|0xffffff,-38|6|0xffffff,-36|-24|~0xffffff,23|-20|~0xffffff,29|27|~0xffffff", 90, 0, 0, 300, 300)
if x~=-1 then
    dialog("x:"..x.."\n".."y:"..y)
else
    dialog("未找到")
end

注意事项

  • posandcolor 参数中的坐标为相对坐标。
  • 相对于基准点的坐标,即用参照点的横坐标、纵坐标分别减去基准点的横坐标、纵坐标,可以为负数。
  • 多点找色的代码可直接用触动精灵取色工具生成,其使用方法参见图文教程。
  • 颜色值的十六进制文本中,其顺序为 RGB。
  • 使用此函数时精度参数设置过低,会导致性能大幅下降。
  • 雷电 9 系统模拟器分辨率为平板版时使用函数:getScreenSize 获取的屏幕宽高相反,获取到的宽度实际为屏幕高度,获取的高度实际为屏幕宽度,其他模拟器获取的屏幕宽高为实际屏幕宽高。
Copyright 北京帮你玩科技有限公司 2023 all right reserved,powered by Gitbook该文章修订时间: 2024-03-06 17:50:18

results matching ""

    No results matching ""