基本功能及语法
脚本存放路径
苹果: /var/touchelf/åscripts/
安卓: /mnt/sdcard/touchelf/scripts/
脚本格式
脚本分4种格式 lua e tep tepe
lua格式: 脚本源码
e格式: 脚本源码加密后的格式
tep: 项目打包脚本,里面包含多个lua以及图片资源等文件
tepe: 加密后的项目打包脚本
注:e格式为6.7.0版本之前所使用的加密格式。6.7.0版本与6.7.0以下版本加密格式不兼容
项目脚本
基础项目包含一个主文件和两个文件夹
项目为一个文件夹结构,文件夹的名字为脚本名字.项目在电脑中结构如下:
vscode中选择文件->将文件夹添加到工作区,选择创建好的项目文件夹,点击添加按钮
添加成功后的样式如下:
注意:工作区只能有一个项目文件!不可打开多个项目文件,会导致打包失败.
主文件名必须是 main.lua
lib文件夹内存放其他的lua文件.放在此文件夹内的lua文件在加密的时候会同时被加密.
res文件夹内存放图片等资源文件.如没有资源文件可以不创建此文件夹
也可创建其他文件夹用于存放不同的文件,例如创建一个font文件夹用于存放字库.
由于项目脚本运行的时候会在临时目录运行,所以访问项目内文件夹需要使用 script.workingDir()函数 获取临时目录
项目脚本找图使用如下写法:
function main()
wd = script.workingDir()
x, y = screen.findImage(wd.."/res/a.bmp");
if x ~= -1 and y ~= -1 then
touch.down(0, x, y);
touch.up(0);
end
end
项目脚本加载lib目录内模块写法:
main.lua:
a = require "a"
function main()
a.foo()
end
a.lua:
local M = {}
function M.foo()
sys.dialog("a from module")
end
return M
使用vscode上传项目脚本
使用控制中心上传项目脚本
控制中心下载地址:http://ask.touchelf.net/ask/article/30.html
上传脚本
1.使用vscode编辑完脚本后点击远程运行会自动上传脚本
2.使用vscode设备文件处的上传功能上传
3.使用控制中心的上传脚本功能上传
4.使用控制中心中的文件管理功能上传
5.使用远程UI上传脚本
扫一扫下载脚本
1.将脚本存放到服务器或其他可访问的地址
2.将访问地址生成二维码
例:将https://doc.touchelf.com/demo.lua生成二维码
3.点击触摸精灵左上角菜单按钮
4.点击菜单中的 扫一扫 按钮
5.扫描生成的二维码即可将脚本下载至本地
使用控制中心存放脚本下载脚本
1.创建一个文件夹,将脚本存放在此文件夹内.
2.在控制中心设置内将本地脚本目录设置为创建的文件夹,设置完点击保存配置并重启控制中心.
3.将控制中心访问地址生成二维码
例:控制中心设置内显示的本地访问地址为 http://192.168.31.163:3000 脚本名字为 demo.lua
那么访问地址为 http://192.168.31.163:3000/script/demo.lua
4.使用触摸精灵扫描生成的二维码即可将脚本下载至本地
注意:
1.扫一扫下载脚本支持 .lua .e .tep .tepe 四种格式.
2.不支持下载除脚本外的其他文件.
录制
1.脚本列表界面点击左上角菜单
2.点击菜单中的 录制 按钮
3.在弹出的对话框中输入想要录制的脚本的名称, 然后点击“确定”按钮
5.阅读弹出的对话框中的说明, 然后切换到手机的任意界面, 按下音量键开始录制
6.做一些你想要录制的触摸动作,再次按下音量键停止录制
设置循环
1.点击脚本,弹出菜单中选择选定
2.设置循环次数以及循环的间隔时间 循环时间为毫秒 1秒 = 1000毫秒 点击保存配置,点击选定脚本
运行
1.选定脚本后可以点击音量键运行脚本,或者使用菜单中的运行来运行脚本
2.脚本在播放完毕后会自动停止, 或在播放过程中再次按下音量键停止播放
编辑
1.点击脚本,弹出菜单中选择编辑
2.编辑完成后点击编辑界面右上角的菜单保存
开机启动
1.点击脚本,弹出菜单中选择开机启动
2.打开设置页面,打开开机启动选项
脚本修改开机启动方法
通过修改配置文件修改开机启动,此方法修改完设置页面的开机启动功能无变化,但不影响功能正常使用
function main()
local file = file.read("/var/touchelf/var/config.json")
local config = codec.json.decode(file)
config.boot.enable = true --设置开机启动为true
config.boot.script = 'main.lua' --设置开机启动脚本为 main.lua
config = codec.json.encode(config)
file.write("/var/touchelf/var/config.json",config)
end
通过API接口修改开机启动,此方法修改完设置页面的开机启动功能有变化
function httpPut(data)
local http = require "socket.http"
local ltn12 = require "ltn12"
local request_body = data -- 这里是PUT的数据
local response_body = {}
local res, code, response_headers = http.request{
url = "http://127.0.0.1:8000/api/config", -- 这里是你提交的域名
method = "PUT",
headers =
{
["Content-Type"] = "application/x-www-form-urlencoded";
["Content-Length"] = #request_body;
},
source = ltn12.source.string(request_body),
sink = ltn12.sink.table(response_body),
}
if type(response_body) == "table" then
return table.concat(response_body)
else
sys.log("Not a table:", type(response_body))
end
end
function main()
local res = net.http.get("http://127.0.0.1:8000/api/config")
local config = codec.json.decode(res)
config.boot.enable = true --设置开机启动为true
config.boot.script = 'main.lua' --设置开机启动脚本为 main.lua
config = codec.json.encode(config)
httpPut(config)
end
加密
1.点击脚本,弹出菜单中选择加密
2.e3为lua脚本的加密脚本.tepe为项目脚本tep的加密脚本
注册
1.购买序列号
淘宝官方店:http://aisence.taobao.com
社区:http://ask.touchelf.net
去上述地址购买序列号
触摸精灵未注册也可以使用半个小时,请确定您的设备可以正常使用在购买.序列号一经售出概不退换
2.点击设置 -> 注册状态 -> 右上角菜单 -> 注册 输入购买的序列号 注册状态中显示到期时间则注册成功
社区购买序列号流程
1.注册并登陆社区.
2.充值余额
点击充值余额进行余额充值
3.兑换点数
充值完成后点击兑换点数
4.提取序列号
兑换完成后点击 触摸序列号 菜单,在提取序列号界面输入 提取数量 点击 提取 即可
5.订单列表
订单列表中显示的是每次提取序列号的订单
6.序列号列表
序列号列表中显示的是所有序列号的状态以及信息
解绑
1.访问官方网站 www.touchelf.com 点击右上角 激活 -> 查询&解绑
2.输入注册码及验证码
3.输入验证码点击解绑
4.社区购买序列号解绑方式
除上述去官网解绑方式外还可以在 序列号列表 中点击解绑按钮 解绑
注意:序列号绑定两个月以上才可以解绑一次.每个序列号解绑次数为5.超过解绑次数则无法解绑
基本语法
主入口为 main 函数 触摸执行时是从 main 函数开始运行
例如:执行一个提示
function main()
sys.toast("test")
end
例如:执行一次点击
function main()
click(100,100)
end
function click(x,y)
touch.down(0,x,y)
sys.sleep(20)
touch.up(0)
end
其他lua语法用户可参考Lua的官方手册或者其他资料来学习以下基本语法:
- 注释
- 变量与类型
- 运算符
- 赋值
- 条件控制
- 循环控制
- 函数定义
- 库函数
- ......
Lua官方手册:http://www.lua.org/manual/5.2/
Lua教程: https://www.w3cschool.cn/lua/
注意:工作区只能有一个项目文件!不可打开多个项目文件,会导致打包失败.
主文件名必须是 main.lua
lib文件夹内存放其他的lua文件.放在此文件夹内的lua文件在加密的时候会同时被加密.
res文件夹内存放图片等资源文件.
也可创建其他文件夹用于存放不同的文件,例如创建一个font文件夹用于存放字库.
由于项目脚本运行的时候会在临时目录运行,所以访问项目内文件夹需要使用 script.workingDir()函数 获取临时目录
项目脚本找图使用如下写法:
function main()
wd = script.workingDir()
x, y = screen.findImage(wd.."/res/a.bmp");
if x ~= -1 and y ~= -1 then
touch.down(0, x, y);
touch.up(0);
end
end
项目脚本加载lib目录内模块写法:
main.lua:
a = require "a"
function main()
a.foo()
end
a.lua:
local M = {}
function M.foo()
sys.dialog("a from module")
end
return M