tslib触动精灵基础扩展库使用手册

tslib触动精灵基础扩展库使用手册
tslib触动精灵基础扩展库使用手册

@miniknife?2017-09-21 16:38?字数?29341?阅读?111853
TSLib 触动精灵基础扩展库使用手册
开发手册
Windows 平台按 Ctrl + F 打开快捷搜索 Mac 平台按 command + F 打开快捷搜索
※右侧文本列表可以找到全部手册
目录
TSLib 触动精灵基础扩展库使用手册
o
目录
o
简介
o
学习前的准备
越狱及 root 常识
Lua 基础简明教程
脚本开发取色技巧
小白学触动零基础视频教程
o
触动精灵开发者指南
触动产品功能对比
如何查看更多文档
o
函数扩展库下载
使用须知
函数:TSVersions 获取扩展库版本号
o
点击滑动类
函数:tap 点击
函数:randomTap 随机点击

函数:moveTo 滑动
函数:moveTowards 角度滑动
函数:moveZoomOut 捏合
函数:moveZoomIn 放大滑动
函数:moveCircleCenter 圆心滑动
函数:moveCirclePonits 圆弧滑动
o
颜色判断类
函数:intToRgb 十六进制转 RGB
函数:rgbToInt RGB 转十六进制
函数:isColor 单点比色
函数:multiColor 多点比色
函数:multiColTap 多点比色点击
函数:findMultiColorInRegionFuzzyByTable 点阵找色
o
开发调试类
函数:log 日志
o
文件操作类
函数:isFileExist 判断文件
函数:readFile 读文件返回表
函数:readFileString 读文件返回字符串
函数:writeFile 保存表到文件
函数:writeFileString 保存字符串到文件
函数:delFile 删除文件
o
应用信息类
函数:getAppName 获取应用名称
函数:getUserApp 获取已安装 ipa 应用列表
o
数据操作类
函数:strSplit 分割字符串
函数:httpGet 获取网页数据
函数:httpPost 提交网页数据
函数:getNetIP 获取外网 IP
函数:inputStr 输入字符串
函数:getStrNum 获取字符串数
函数:getRndNum 获取随机数
函数:snapAndSave 截图保存到相册
函数:deepCopyTable 复制表
o
系统类模块
函数:luaExit 退出脚本执行
函数:getRender 获取屏幕的 render 值
函数:isDay 日期判断
o
clear 清理类模块
函数:clearAllPhotos 清空相册
函数:clearAllKeyChains 清空钥匙串
函数:clearIDFAV 清理 IDFAV
函数:clearPasteboard 清空剪贴板

函数:clearCookies 清除浏览器 Cookies
o
showUI 脚本配置界面
函数:checkTable 检查 UItable
函数:getMode 获取 UI 模式
函数:neosUI 显示 UI
o
便捷 UI
函数:UINew 创建 UI
函数:UIShow 显示 UI
函数:UILabel 文本标签
函数:UIRadio 单选框
函数:UIEdit 编辑框
函数:UICheck 多选框
函数:UICombo 下拉框
函数:UIComboRlt 联动下拉框
函数:UIComboRlts 联动关联框
函数:UIImage 图片框
UI 完整实例
o
ocr 云打码扩展库
函数:ocrInfo 初始化打码平台
函数:ocrBalance 查询用户余额
函数:ocrScreen 区域打码识别
函数:ocrImage 图片打码识别
函数:ocrReportError 提交错误识别
o
企业版相关
函数:setDeviceAlias 设置设备别名(仅限企业版)
o
附录
已知与触动精灵/帮你玩/小精灵/企业版 iOS 冲突的插件
列表
Lua math 库
设备 SSH 连接工具
相关工具运行库
OCR(光学字符识别)相关
LuaSQLite
简介
为了进一步降低脚本开发者门槛,触动精灵单独开发一个扩展库,提供了一系列 实用函数供开发者使用。? 本函数扩展库中的函数如无特殊说明,均支持 iOS Android 双平台。
学习前的准备

越狱及 root 常识
在学习脚本开发之前,首先要具备一些关于 iOS 越狱和安卓 root 的知
识,以及触动精灵的常用信息
文档链接:看了上面的文档,你可以具备以下知识:?
o
什么样的手机适合用来做脚本开发
o
拿到一台越狱手机之后应该做什么才能避免白苹果和报错
o
Cydia 不见了或者已安装界面空白该怎么办
o
为什么安装插件总是报错呢
Lua 基础简明教程
首先你需要了解 Lua 这门语言的一些基础知识,什么是循环,什么是函 数,布尔型和数值型分别是什么意思,才有可能看得懂下面的教程和手册。
文档地址:脚本开发取色技巧
新手在学习使用触动精灵开发脚本的时候,总会进入一些误区,或者会有
一些迷惑的点,觉得无从下手,本文总结了一些自己在学习过程中遇到的问
题和经验技巧,欢迎大家一起交流分享。
文档链接:lisaisacat/note/508345
看了上面的文档,你可以具备以下知识:?
o
透明背景图、动图、带动画的界面应该怎么取色
o
找色和找图哪个更好用
o
函数封装是什么
o
脚本报错了怎么办
小白学触动零基础视频教程
如果你没有任何编程基础,可以先看一下零基础教学视频:看了上面的文
档,你可以具备以下知识:?
o
deb 插件安装方法
o
平刷插件 Cydia Eraser
o
SSH 命令工具 putty
o
触动精灵的安装使用及常识
o
抓色器和编辑器的使用及常识
o
同样的脚本为什么有的手机运行异常
o
showUI 返回值的调用
o
showUI 应该怎么写才简洁好用
o
大漠字库工具的用法

触动精灵开发者指南
由于触动精灵在线文档数量较多,很多人不知道如何查询,现建立此文档
做为索引,其中会补充一些软件使用的常用信息。
触动精灵旗下目前有四款软件:触动精灵(iOS/Android)、帮你玩商城
(iOS/Android)、小精灵(iOS/Android)、企业版(iOS/Android 开发中)。?
o
触动精灵适合开发者和有中控开发能力的工作室使用
o
帮你玩脚本商城适合开发玩家脚本的开发者和普通脚本用户使用
o
小精灵适合有图标和包名自定义需求的开发者和工作室使用
o
企业版适合有批量控制设备需求的工作室使用
文档地址:触动产品功能对比
产品名称
自定义图 录 调 运行源

制试

授权
批量控制
支持
触动精灵 iOS
×
√√

30 元/台/年 购买 API 自行开发 iOS/A
触动精灵安
×
√√


免费
购买 API 自行开发 iOS/A
触动小精灵

××
×
11 元/台/月 购买 API 自行开发 iOS/A
帮你玩商城
×
××
×
免费
×
iOS/A
触动企业版
×
××

38 元/台/年
免费
i
如何查看更多文档
在文档右侧栏顶部点击文档分类菜单栏按钮,即可查看触动精灵所有在线文档。?

函数扩展库下载
? 触动精灵/小精灵(基础版)/企业版(更新于 2017/09/18):? ? 帮你玩(更新于 2017/1/18)下载: ※当前内置版本为,如需使用最新版请下载函数库后重命名再加载
※当前内置版本为,如需使用最新版请下载函数库后重命名再加载
※当前内置版本为,如需使用最新版请下载函数库后重命名再加

使用须知
解压压缩包内文件,需要将文件拉到触动脚本文件目录里面(iOS 已内 置本函数库)
触动精灵 iOS 脚本文件目录:/var/mobile/Media/TouchSprite/lua 触动精灵安卓脚本文件目录:/mnt/sdcard/TouchSprite/lua 如果上传 tsp 将该文件一起打进 zip 包即可 在脚本开头写 require "TSLib"(注意文件名大小写是否正确) 务必使用最新版本的扩展库文件 如果脚本要通用于触动和帮你玩平台,建议直接使用帮你玩专版
一个包含脚本文件、扩展库文件和资源文件的工程 注意事项:
如果修改了文件名请一定要保持双引号内的文件名与实际文件名一致。 如果要远程调试或上传到开发者平台,记得把函数库文件和脚本文件一起 传到设备或打包。 帮你玩开发者平台仅允许使用帮你玩专版扩展库,其他平台可使用触动 版。如果没有特殊需求,建议统一使用帮你玩版本。 触动小精灵使用此函数库(非网络获取和打码部分)只需要勾选?基础版? 类型即可
函数:TSVersions 获取扩展库版本号
函数名称:获取扩展库版本

函数功能:用来判断获取扩展库版本号
函数方法
TSVersions()? 返回值:ver 字符型? 脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
点击滑动类 TSVersions()?--返回版本号字符串,返回值如:
在部分应用程序中的 HTML5 页面中,出现脚本能够点击,但点击没有后续 反应的问题。此问题目前可以通过以下写法来解决:? ("input mouse tap x y") --x y 为坐标值? ("input mouse swipe x1 y1 x2 y2 ")--滑动代码
函数:tap 点击
函数名称:点击 函数功能:模拟点击屏幕,按下抬起一次 函数方法
tap(x,y,ms)
参数
类型
说明
坐标 x
number
必填
坐标 y
number
必填
时间 ms
number
选填,缺省默认为 50,单位毫秒
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. tap(100,200)?--点击坐标(100,200),默认按下 50 毫秒后抬起 注意事项: tap 点击后可以加适量的延时

函数:randomTap 随机点击
函数名称:随机点击 函数功能:随机点击屏幕一次 函数方法
randomTap(x,y,r)
参数
类型
说明
坐标 x
number
必填
坐标 y
number
必填
随机 r
number
选填,缺省默认为 5,单位 px
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. randomTap(100,200,10)?--随机点击坐标(x,y),x?为?100±10?取一个随机值,y? 为?200±10?取一个随机值。
注意事项: randomTap(x,y,r)当 r 不写时默认为 5,即 randomTap(x,y)即可。当随机数 r 写 10 时,则按下的 x 和 y 会自动加上 -10 到 10 之间的一个随机数
函数:moveTo 滑动
函数名称:滑动 函数功能:两点之间直线滑动 函数方法
moveTo(x1,y1,x2,y2,step)
参数
类型
说明
起点 x1
number
必填

起点 y1
number
必填
终点 x2
number
必填
终点 y2
number
必填
速度 step
number
选填,缺省默认为 10,单位
弹起 ms
number
选填,缺省为 50,单位毫秒
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. moveTo(100,100,200,200)?--从坐标(100,100)滑动到(200,200),默认步长为 10?
像素。默认移到另一点等待 50 毫秒弹起
注意事项: 1. 可选参数速度 step,当不写默认为 10,也可自己填写,step 步长越大
滑动越快,为大于 0 小于距离长度的数值。 2. 使用滑动函数时,新手常犯的错误就是两点之间滑动距离过大,请注步长
不宜超过 50。
函数:moveTowards 角度滑动
函数名称:角度滑动 函数功能:确定起点坐标,从该点按角度直线滑动 函数方法
moveTowards(x,y,angle,length,step)
参数
类型
说明
起点 x
number
必填
起点 y
number
必填

角度 angle
number
必填
长度 length
number
必填
速度 step
number
选填,缺省默认为 10,单位
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. moveTowards(500,500,90,300)?--从坐标(500,500)向上滑动 300 注意事项: 1. 角度 angle 为 0 时向右滑动,90 向上滑动,180 向左滑动 2. 长度 length 大于 0 3. 可选参数速度 step,当不写默认为 10,也可自己填写,step 应为大于 0
小于距离长度的数值,建议小于 50,否则会出现滑动无效的情况
函数:moveZoomOut 捏合
函数名称:捏合 函数功能:两点捏合滑动缩小 函数方法
moveZoomOut(x1,y1,x2,y2,step)
参数
类型
说明
坐标 x1
number
必填
坐标 y1
number
必填
坐标 x2
number
必填
坐标 y2
number
必填
速度 step
number
选填,缺省默认为 50,单位

脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. moveZoomOut(100,100,300,300)?--从坐标(100,100)和坐标(300,300)同时向中间
点滑动缩小
注意事项: 可选参数速度 step,当不写默认为 10,也可自己填写,step 为大于 0 小于距 离长度的数值,建议小于 50,否则会出现滑动无效的情况
函数:moveZoomIn 放大滑动
函数名称:放大滑动 函数功能:输入两点坐标,脚本从中间向两点滑动放大 函数方法
moveZoomIn(x1,y1,x2,y2,step)
参数
类型
说明
坐标 x1
number
必填
坐标 y1
number
必填
坐标 x2
number
必填
坐标 y2
number
必填
速度 step
number
选填,缺省默认为 50,单位
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. moveZoomIn(100,100,300,300)?--两点坐标中间同时向坐标(100,100)和坐标
(300,300)两端滑动
注意事项: 可选参数速度 step,当不写默认为 10,也可自己填写,step 为大于 0 小于距离 长度的数值,建议小于 50,否则可能会导致函数运行无效

函数:moveCircleCenter 圆心滑动
函数名称:圆心滑动 函数功能:确定圆心和圆上一点确定圆,从圆上一点按圆弧度滑动 函数方法
moveCircleCenter(cX,cY,x,y,angle,step,direction)
参数
类型
说明
圆心 cX
number
必填
圆心 cY
number
必填
圆上点 x
number
必填
圆上点 y
number
必填
角度 angle
number
选填,缺省默认为 360,转一周
速度 step
number
选填,缺省默认为 10,单位 p
方向 direction
number
选填,缺省默认为逆时针,-1 时为
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. moveCircleCenter(200,200,0,200)?--以圆心坐标(200,200),圆上一点起点
(0,200),逆时针转一圈
注意事项: 1. 角度 angle 大于 0,转 1 圈数值为 360,以此类推 2. step 步长不写默认为 10,越小越快,大于 0,建议小于 50,否则可能
会导致函数运行无效 3. 方向 direction 默认逆时针,-1 时为顺时针
函数:moveCirclePonits 圆弧滑动

函数名称:圆弧滑动 函数功能:三点确定圆,从圆上第一点开始按圆弧度滑动 函数方法
moveCirclePonits(x1,y1,x2,y2,x3,y3,angle,step,direction)
参数
类型
说明
圆上点 x1
number
必填
圆上点 y1
number
必填
圆上点 x2
number
必填
圆上点 y2
number
必填
圆上点 x3
number
必填
圆上点 y3
number
必填
速度 step
number
必填
角度 angle
number
选填,缺省默认为 360,转一周
速度 step
number
选填,缺省默认为 10,单位 p
方向 direction
number
选填,缺省默认为逆时针,-1 时为
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. moveCirclePonits(300,100,100,200,500,200)?--三点坐标确定圆心,以圆上起点
(300,100),逆时针转一圈
注意事项: 1. 角度 angle 大于 0,转 1 圈数值为 360,以此类推

2. step 步长不写默认为 10,越小越快,大于 0,建议小于 50,否则可能 会导致函数运行无效
3. 方向 direction 默认逆时针,-1 时为顺时针
颜色判断类
函数:intToRgb 十六进制转 RGB
函数名称:十六进制转 RGB 函数功能:十六进制颜色值转 RGB,返回三个值 函数方法
intToRgb(color)? 返回值:r 数值型,g 数值型,b 数值型
参数
类型
颜色 color
number
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. r,g,b?=?intToRgb(0xffffff)?--返回 255?255?255?三个值 注意事项: 返回值 r,g,b 可为自定义变量
函数:rgbToInt RGB 转十六进制
函数名称:RGB 转颜色 函数功能:将 RGB 三个值转换成十六进制颜色值 函数方法
rgbToInt(r,g,b)? 返回值:color 数值型
参数
类型
红r
number

绿g
number
蓝b
number
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. intToRgb(255,255,255)?--返回十六进制颜色值?0xffffff 注意事项: 返回值为十六进制颜色数值
函数:isColor 单点比色
函数名称:比色 函数功能:判断指定坐标的颜色,存在返回 true,不存在返回 false 函数方法
isColor(x,y,c,dim)
参数
类型
说明
坐标 x
number
必填
坐标 y
number
必填
颜色 c
number
必填
模糊度 dim
number
选填,缺省默认为
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. if?isColor(100,200,0xffffff)?then?--判断点(100,200)的颜色值是否 为?0xffffff,模糊度默认为 90
3. dialog("找到啦",0) 4. end 注意事项: 可选参数模糊度 dim,不写默认为 90,最精确为 100,但不建议使用 100

函数:multiColor 多点比色
函数名称:多点比色 函数功能:判断多个坐标相应颜色是否成立,成立返回 true,不成立返回 false 函数方法
multiColor(array,dim)? 返回值:true/false 布尔型
参数
类型
说明
颜色数组 array
table
必填
模糊度 dim
number
选填,缺省默认
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. if?multiColor({{78,272,0x00a8e9},{120,266,0xffffff},{122,197,0x00a8e9}}) ?==?true?then--全部坐标点和颜色一致时返回?true,==?true?可省略不写
3. tap(x,y) 4. mSleep(50) 5. toast("找到颜色并点击") 6. mSleep(3000) 7. end 注意事项: 1. array 为 table 表,坐标颜色值数量任意(填一个坐标和颜色值时为单
点找色),可配合触动精灵抓色器自动生成代码使用 2. 模糊度 dim 不填默认为 90
函数:multiColTap 多点比色点击
函数名称:多点比色点击 函数功能:判断多个坐标相应颜色是否成立,成立则点击最后一个坐标 函数方法
multiColTap(array,dim)
参数
类型
说明

颜色数组 array
table
必填
模糊度 dim
number
选填,缺省默认
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. multiColTap({{78,272,0x00a8e9},{120,266,0xffffff},{122,197,0x00a8e9}})?-
-所有坐标和颜色都成立则点击最后一个坐标
或者写作 1. if?multiColor({{78,272,0x00a8e9},{120,266,0xffffff},{122,197,0x00a8e9}}) ?==?true?then?--所有坐标颜色都成立 2. tap(122,197)--点击最后一个坐标 3. end
注意事项: 1. array 为 table 表,坐标颜色值数量任意(填一个坐标和颜色值时为单
点找色),可配合触动精灵抓色器自动生成代码使用 2. 模糊度 dim 不填默认为 90
函数:findMultiColorInRegionFuzzyByTable 点阵找色
函数名称:点阵找色 函数功能:利用 table 进行多点找色,这种方法将会保留原始的点阵数据 函数方法
x,y=findMultiColorInRegionFuzzyByTable(tmp,degree,x1,y1,x2,y2)? 返回值:x,y 整数型
参数
类型
说明
颜色点阵 tmp
table
必填,点阵
模糊度 degree
number
必填,模糊度
坐标 x1
number
选填,缺省默认值 0,区域左上角横
坐标 y1
number
选填,缺省默认值 0,区域左上角纵

坐标 x2 坐标 y2
number number
选填,缺省默认值 0,区域右下角横 选填,缺省默认值 0,区域右下角纵
返回值
类型
说明
x,y
number
返回符合条件的参照点的坐标,如未找到则返回 -1
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. 反叛的堕天使路西法=?{ 3. {?46,?418,?0xf7efda}, 4. {?77,?429,?0x8b6248}, 5. {?42,?449,?0xfdf5ee}, 6. {?70,?439,?0x83305d}, 7. {?57,?458,?0xad736a}, 8. } 9. x,y=findMultiColorInRegionFuzzyByTable(反叛的堕天使路西
法,90,1,365,105,500)--在 1,365,105,500 这个区域寻找反叛的堕天使路西法这个图

开发调试类
函数:log 日志
函数名称:日志 函数功能:记录脚本日志,便于了解挂机详情 函数方法
log(wlog,name)
参数
类型
说明
内容 wlog
string
必填

日志名称 name
string
选填,缺省默认为“脚本日
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. log("我的第一个脚本","脚本日志")--在?log?目录下生成文件:脚本日志.log,
文本内容:"我的第一个脚本"
注意事项: 日志会自动生成到触动精灵文件目录的 log 文件夹下,在客户端更多 - 日志界 面可以查看。? 日志过多时记得及时清除避免设备卡顿
文件操作类
函数:isFileExist 判断文件
函数名称:判断文件 函数功能:判断文件是否存在,存在返回 true,不存在返回 false 函数方法
isFileExist(file)? 返回值:true/false 布尔型
参数
类型
文件路径 file
string
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. isFileExist(userPath().."/res/")?--存在返回 true,不存在返回 false 注意事项: 文件存在返回 true,不存在则返回 false
函数:readFile 读文件返回表
函数名称:读文件返回表 函数功能:读文件操作,读取文件内容,返回一个 table

函数方法 readFile(file)
参数
类型
文件路径 file
string
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. readFile(userPath().."/res/")?--读取文件内容,返回一个?table 注意事项: 文件不存在则返回 false
函数:readFileString 读文件返回字符串
函数名称:读文件返回字符串 函数功能:读文件操作,读取文件内容,返回全部内容的 string 函数方法
readFileString(file)
参数
类型
文件路径 file
string
脚本示例: 1. require?"TSLib"--使用本函数库必须在脚本开头引用并将文件放到设备?lua?目
录下
2. readFileString(userPath().."/res/")?--读取文件内容,返回全部内容的 string 注意事项: 文件不存在则返回 false
函数:writeFile 保存表到文件
函数名称:保存表到文件 函数功能:将表 table 内容存入文件,成功返回 true 函数方法
writeFile(file,tab,mode)

相关主题
相关文档
最新文档