
懒人精灵基于 Lua语言,是安卓手机脚本编写语言,很简单。
只需熟悉一些 Lua 命令,注意它是特定版本,格式有讲究。
我会给出命令模板,直接照抄。
大家别害怕学不会,教学时会给简单模板,直接照抄,不用急着理解特定格式,后面学习中慢慢掌握就行。
懒人精灵主要用节点查找,能实现全分辨率功能,也可以用 OCR 点字找字操作,
同样能实现全分辨率,这样就能编写全分辨率、无障碍的脚本了。

我会在教程每个步骤给大家一个或多个函数模板,直接调用,不用自己编写。
比如点击节点的函数,输入命令 “点击节点”,把节点元素放到变量里,就能直接用。
点击节点(text("跳过"))
例如这个就是点击文字是跳过的节点
function 点击节点(节点元素)
节点参照 = 0
目标节点横坐标 = 0
目标节点纵坐标 = 0
local sel = 节点元素
local node = sel:findOne(3)
if node~= nil then
local tb = {nil}
tb[1] , tb[2] , tb[3] , tb[4] = node:bounds()
local 左横 = tb[1]
local 左纵 = tb[2]
local 右横 = tb[3]
local 右纵 = tb[4]
目标节点横坐标 = math.floor((math.tointeger(tb[1]) + math.tointeger(tb[3]))/2)
目标节点纵坐标 = math.floor((math.tointeger(tb[2]) + math.tointeger(tb[4]))/2)
节点参照 = 1
print("坐标为:"..目标节点横坐标..","..目标节点纵坐标)
print(node:text())
toast("坐标为:"..目标节点横坐标..","..目标节点纵坐标 , 目标节点横坐标 , 目标节点纵坐标)
tap(目标节点横坐标 , 目标节点纵坐标)
sleep(500)
end
end
不用急着理解具体语法,学安卓脚本开发过程中慢慢就懂了。
可能大家对 “节点” 陌生,用文字举例,给个函数,功能是查找指定文字并点击。
就是 function 点字函数,教大家怎么调用。
function 点字(目标文本1 , 范围横1 , 范围纵1 , 范围横2 , 范围纵2)
目标横坐标 = 0
目标纵坐标 = 0
local 目标文本 = 目标文本1
local r = ocrBinaryEx(范围横1 , 范围纵1 , 范围横2 , 范围纵2 , "FFFFFF-303030" , 50 , 0 , 0.60 , 0.30 , 2.00 , true , true)
if r ~= nil then
for i = 1 , #r do
print(r[i])
if r[i].text == 目标文本 or utf8.inStr(1 , r[i].text , 目标文本1) > 0 then
print(r[i].l)
print(r[i].r)
print(r[i].t)
print(r[i].b)
目标横坐标 = math.floor((math.tointeger(r[i].l) + math.tointeger(r[i].r))/2)
目标纵坐标 = math.floor((math.tointeger(r[i].t) + math.tointeger(r[i].b))/2)
tap(目标横坐标 , 目标纵坐标)
print("目标文本:"..目标文本.."--坐标为:"..目标横坐标..","..目标纵坐标)
toast("目标文本:"..目标文本.."--坐标为:"..目标横坐标..","..目标纵坐标 , 目标横坐标 , 目标纵坐标)
end
end
end
sleep(500)
end
点字("跳过", 0 , 0 , 0 , 0)
比如点字跳过的调用,0000 四个 0 代表全屏,在全屏里找 “跳过” 这几个字.
找到了就点击,这就是点字函数的用法。
像这样,会给大家更多全面的函数,用这些函数能直接写完整脚本,这就是编写思路和大纲。
写脚本时不用自己造轮子,直接用就行。
这样能提高生产效率,写好脚本后,要想着后期怎么改,别每个项目都重写,工作量太大。
多写万能脚本、函数,方便复用,提升效率。
总结下,给 0 基础学习者提供完备函数,教大家简单调用,就能写出完整、全分辨率、高效的脚本。
所以教学像少儿编程一样简单,大家别害怕,不用有畏惧心理。
这就是懒人精灵学习的大纲思路,有问题随时交流。


被折叠的 条评论
为什么被折叠?



