30 求高手改写多点区域模糊找色函数

发布于 2020-01-12 02:13:15

求高手帮忙重新封装改写这个函数:x, y = findMultiColorInRegionFuzzy,
改写后可以使用触动的取色格式,例如:(0x181F85, "29|1|0x00BBFE,103|-4| 0x0B6BBE,65|9|0x150972", 100, 0, 0, 639, 959)

或者能提供一下触动关于这个函数的封装源码也行

查看更多

关注者
1
被浏览
1.2k
Evan
Evan 认证专家 2020-01-12
function findColorPro(first,color,sim,x1,y1,x2,y2)
    local Arr = {}
    local colorArr = Split(color,",")
    table.insert(Arr,first)
    for k,v in pairs(colorArr) do
        local colorArrs = Split(v,"|")
        for k2,v2 in pairs(colorArrs) do
            table.insert(Arr,tonumber(v2))
        end
    end
    x, y = findMultiColorInRegionFuzzy(Arr,sim,x1,y1,x2,y2)
    if x ~= -1 and y ~= -1 then
        return true
    else
        return false
    end
end
function Split(szFullString, szSeparator)
    local nFindStartIndex = 1
    local nSplitIndex = 1
    local nSplitArray = {}
    while true do
       local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex)
       if not nFindLastIndex then
        nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString))
        break
       end
       nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1)
       nFindStartIndex = nFindLastIndex + string.len(szSeparator)
       nSplitIndex = nSplitIndex + 1
    end
    return nSplitArray
end
function main()
    if findColorPro(0x181F85, "29|1|0x00BBFE,103|-4| 0x0B6BBE,65|9|0x150972", 100, 0, 0, 639, 959) then 
        notifyMessage("yes");
    else 
        notifyMessage("no");
    end
end
2 个回答
189607892
189607892 2020-02-25

有需要多点找色和找图的封装吗

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览