如何在资源目录下建立子目录?????
writePasteboard、readPasteboard 读写剪贴板
字库工具教程
https://www.zybuluo.com/miniknife/note/629179#%E5%8F%96%E8%89%B2%E6%8A%80%E5%B7%A7
注意
1.截图一定要用取色器的图 因为这里的图是原样大小 其他的比如实时屏幕 或者其他的 都有可能被缩小了
2 从我个人使用情况看 这个字库的识别率 真的有点差。。没有什么实用价值 不推荐使用
协程 和lua的协程没发现什么大区别
浮动窗口 dialog的强化版 用的也很少 不过了解下
和UI窗口区分开来
1.dialog(string, time)--显示某些提示文字
2.dialogRet(text, cbtn, btn1, btn2, time)--显示几个按钮供人选择点击
3.dialogInput(title, format, btn)--提供一个输入框供人输入内容
4 浮动窗口--包含上面的功能还更加强大(没有提供输入框的部分) 浮动窗口的组件 一个是显示文字的组件 一个是显示图片的组件 还有1个是按钮组件 而且这按钮可以触发对应的事件
官方的例子
http://www.touchsprite.com/helpdoc#/doc?id=156
脚本UI--直接用TSLib库的便捷UI函数就搞定了
os.execute非常强大 但是对于ios不熟悉 不知道linux命令 在ios下是否能用
要查询后面能用的命令 百度 Andriod Shell 关键字 可以找到很多
--新建文件夹 function createFolder(path) return try{ function () --下面代码随便写 有可能抛出异常即可 path=string.trim(path) os.execute("mkdir "..path)--创建文件夹 end, catch{ function (errors) --这里对应函数名要改 local tempStr="" tempStr="函数[" .. tostring("createFolder") .. "] 错误信息:".. tostring(errors) traceprint(tempStr) dialog(tempStr, 3) end } } end --复制文件 function copyfile(path,to) --os.execute("cp -rf "..path.." "..to); return try{ function () --下面代码随便写 有可能抛出异常即可 path=string.trim(path) to=string.trim(to) os.execute("cp -rf "..path.." "..to)--复制文件 end, catch{ function (errors) --这里对应函数名要改 local tempStr="" tempStr="函数[" .. tostring("copyfile") .. "] 错误信息:".. tostring(errors) traceprint(tempStr) dialog(tempStr, 3) end } } end --剪切文件 function movefile(path,to) --os.execute("cp -rf "..path.." "..to); return try{ function () --下面代码随便写 有可能抛出异常即可 path=string.trim(path) to=string.trim(to) os.execute("mv "..path.." "..to)--剪切文件 end, catch{ function (errors) --这里对应函数名要改 local tempStr="" tempStr="函数[" .. tostring("movefile") .. "] 错误信息:".. tostring(errors) traceprint(tempStr) dialog(tempStr, 3) end } } end
IO库 看上了遍历文件夹下的所有文件 和 递归遍历
触动下似乎无法调用lfs库 难受 递归遍历我再想想
--遍历目录 function scanPath(path) return try{ function () --下面代码随便写 有可能抛出异常即可 local a local f = {}; if string.sub(path,-1,-1) ~= "/"then path = path .. "/" end a = io.popen("ls "..path) for l in a:lines() do table.insert(f,l) end a:close() return f end, catch{ function (errors) --这里对应函数名要改 local tempStr="" tempStr="函数[" .. tostring("scanPath") .. "] 错误信息:".. tostring(errors) traceprint(tempStr) dialog(tempStr, 3) end } } end
但是递归遍历文件夹我再想想看 触动并不支持lfs库 写起来很难受
触动下实现按键的keypress功能
触动没有把安卓的和IOS的整合到一起
安卓的 http://www.touchsprite.com/helpdoc#/doc?id=1613 对应的按键码资料 http://www.touchsprite.com/helpdoc#/doc?id=214
ios的http://www.touchsprite.com/helpdoc#/doc?id=73 对应的按键码资料 http://www.touchsprite.com/helpdoc#/doc?id=223
拿安卓环境下为例 输入0 变成了 os.execute("input keyevent KEYCODE_0") 点击del键就变成了 os.execute("input keyevent KEYCODE_DEL") 也等同于 inputText(“\b”)
可惜 触动官方没有整合到一起 我这里稍微整合下
--点击虚拟按键(不包含输出) --两个参数 第一个是安卓下对应的该按键的按键码 另外一个参数自然是IOs对应的按键码 我懒得对2个按键码表进行归类 偷个懒 --支持需要配置表 config["systype"] 获取当前系统是安卓还是ios --用法 keyPress(“KEYCODE_0”,"0") 代表点击0 如果不知道比如安卓下的某个对应键的值可以为空字符串 keyPress(“”,"0") 不过这样的话安卓系统下执行 就不会进行操作了 function keyPress(a,i) return try{ function () --下面代码随便写 有可能抛出异常即可 local str="input keyevent " a=a or "" i=i or "" if config["systype"]=="android" then if a~="" then os.execute(str .. a) end else if i~="" then os.execute(str .. a) end end end, catch{ function (errors) --这里对应函数名要改 local tempStr="" tempStr="函数[" .. tostring("keyPress") .. "] 错误信息:".. tostring(errors) traceprint(tempStr) dialog(tempStr, 3) end } } end
触动专业版 比普通版多了点东西
Mysql数据库的支持
中控接口
多线程的支持
函数:randomsTap 随机滑动点击 带滑动轨迹的鼠标随机点击
精确滑动 我又一次尝试 奈何还是无法达到精确的目的 步长尽可能的少 可以避免滑动的惯性
比较接近的 又简练的 用这个 touch():Step(2):on(333,837):move(333,523):off()
百度文字识别
这个比触动本身的那个字库识别的确靠谱了太多 而且开始的识别是免费的
http://ai.baidu.com/tech/ocr/general?track=cp:ainsem|pf:pc|pp:chanpin-wenzishibie|pu:wenzishibie-baiduocr|ci:|kw:10002846
获取对应的2个字符串
写入到触动的例子中 确定好识字的范围 就可以了