[Lua] 纯文本查看 复制代码
local ocr, msg = createOCR({
type = "tesseract", -- 指定tesseract引擎
path = "res/", -- 使用开发助手/叉叉助手的扩展字库
lang = "num" -- 使用英文增强字库(注意需要提前下载好)
})
local function Mytext(a,b,c,d) --获取屏幕上的文字,a,b,c,d是对应的坐标
if ocr ~= nil then
local rect = {a,b,c,d}
local diff = {"0xffffff-0x0f0f0f"}
local code, text = ocr:getText({
rect = rect,
diff = diff
})
if code == 0 then
return text --返回读取的字符串
end
end
end
function tap(x, y)
touchDown(0, x, y);
mSleep(100);
touchUp(0, x, y);
end
local is_ok = 0
init("0",1)
setScreenScale(1080,1920)
local text = string.match(Mytext(583,652,1299,729),"%s*(.-)%s*$") --将待按的按钮去除特殊字符后存入文本框
--sysLog(text)
local t,t1,t2 = 0
while true do
x, y = findColor({861, 654, 1025, 729},
"0|0|0xfcffff",
95, 0, 0, 0)
--sysLog(x)
if x > -1 then --判断当前是否需要按键
local texta = string.match(Mytext(498,648,1144,723),"%s*(.-)%s*$")--将待按的按钮去除特殊字符后存入文本框
--sysLog(texta)
local k=string.len(texta)--判断当前有多少个按键
--sysLog("k:"..k)
local list1={} --数组,用于将待按下的按钮存入
for i=1,k do
list1[i]=string.sub(texta,i,i) --将读取的按键存入数组
end
for i=1,k do --遍历数组
if (string.find(list1[i],"z") ~= nil) then --如果是左
tap(1413,717)
end
if (string.find(list1[i],"y") ~= nil) then --如果是右
tap(1724,683)
end
if (string.find(list1[i],"x") ~= nil) then--如果是下
tap(1554,844)
end
if (string.find(list1[i],"s") ~= nil) then--如果是上
tap(1590,556)
end
end
end
end