触摸精灵操作手册.docx

上传人:b****3 文档编号:4929910 上传时间:2023-05-07 格式:DOCX 页数:64 大小:52.07KB
下载 相关 举报
触摸精灵操作手册.docx_第1页
第1页 / 共64页
触摸精灵操作手册.docx_第2页
第2页 / 共64页
触摸精灵操作手册.docx_第3页
第3页 / 共64页
触摸精灵操作手册.docx_第4页
第4页 / 共64页
触摸精灵操作手册.docx_第5页
第5页 / 共64页
触摸精灵操作手册.docx_第6页
第6页 / 共64页
触摸精灵操作手册.docx_第7页
第7页 / 共64页
触摸精灵操作手册.docx_第8页
第8页 / 共64页
触摸精灵操作手册.docx_第9页
第9页 / 共64页
触摸精灵操作手册.docx_第10页
第10页 / 共64页
触摸精灵操作手册.docx_第11页
第11页 / 共64页
触摸精灵操作手册.docx_第12页
第12页 / 共64页
触摸精灵操作手册.docx_第13页
第13页 / 共64页
触摸精灵操作手册.docx_第14页
第14页 / 共64页
触摸精灵操作手册.docx_第15页
第15页 / 共64页
触摸精灵操作手册.docx_第16页
第16页 / 共64页
触摸精灵操作手册.docx_第17页
第17页 / 共64页
触摸精灵操作手册.docx_第18页
第18页 / 共64页
触摸精灵操作手册.docx_第19页
第19页 / 共64页
触摸精灵操作手册.docx_第20页
第20页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

触摸精灵操作手册.docx

《触摸精灵操作手册.docx》由会员分享,可在线阅读,更多相关《触摸精灵操作手册.docx(64页珍藏版)》请在冰点文库上搜索。

触摸精灵操作手册.docx

触摸精灵操作手册

2脚本语言

触摸精灵使用Lua语言作为底层脚本语言,支持Lua5.2版本的所有语法及基本库函数,并在Lua语言的基础上添加了一些扩展函数,用于发送触摸事件、找图、找色等高级功能的实现

触摸精灵的脚本中需要有且只有一个main函数,整个脚本是从这个函数开始执行的,示例

--脚本入口函数

--整个脚本从这个函数开始执行

--此函数在整个脚本中必须有且只有一个

functionmain()

--其他代码

end

2.1基本语法

用户可参考Lua的官方手册或者其他资料来学习以下基本语法:

注释

变量及类型

运算符

赋值

条件控制

循环控制

函数定义

库函数

等等

2.2脚本UI界面

用户可以通过在脚本中定义一个全局变量UI来实现定义脚本的配置界面,该界面会在脚本运行前显示给用户,用于让用户设置一些脚本的参数,这些参数的值会赋值给指定的变量,脚本运行时可以通过访问这些变量来获取用户的配置。

下面是一个完整的例子:

UI={

{'TextView{-请如实填写哦-}'},

{'InputBox{}','name','姓名:

'},

{'DropList{帅哥|美女}','sex','性别:

'},

{'InputBox{18}','age','年龄:

'},

{'DropList{是|否}','married','婚否:

'},

};

functionmain()

notifyMessage(string.format("姓名:

%s\n性别:

%s\n年龄:

%s\n婚否:

%s",name,sex,age,married));

end

上述脚本播放前会显示一个如下界面:

全局变量UI是一个Table类型的变量,其中包含若干个子Table,每一个子Table都是一个界面上的控件,控件按照顺序自上而下排列,目前支持3中类型的控件:

1.TextView(静态文本)

1.1控件说明

该类型的控件只用来显示一行文字,不需要用户操作

1.2控件定义

{'TextView{显示的内容}'}

这个Table只有一个字符串成员,即'TextView{显示的内容}',其中的TextView是指定此控件的类型为静态文本,{}中的内容即为该静态文本显示的内容

2.InputBox(输入框)

2.1控件说明

该类型的控件可以用于让用户输入一些内容,并可以指定一个变量名,脚本开始后通过该变量就可以访问到用户输入的内容

2.2控件定义

{'InputBox{默认值}','var','注释'}

这个Table中有3个字符串成员:

*'InputBox{默认值}',其中的InputBox是指定此控件的类型为输入框,{}中的内容是该输入框中的默认值

*'var',定义一个变量的名字,脚本开始后可以通过访问这个变量来获取用户输入的内容

*'注释',显示在输入框上方,用于说明该输入框的用途

2.3使用提示

需要注意的是获取到的变量的值是默认是字符串类型,你可以使用tonumber()函数来转换成数字类型来使用。

例如

var=tonumber(var);

3.DropList(下拉列表)

3.1控件说明

该类型的控件可以用于让用户在指定的若干个值中选择其中一个,并可以指定一个变量名,脚本开始后通过该变量就可以访问到用户选择的内容

3.2控件定义

{'DropList{选项1|选项2|选项3|...}','var','注释'}

这个Table中有3个字符串成员:

*'DropList{选项1|选项2|选项3|...}',其中的DropList是指定此控件的类型为下拉列表,{}中的内容是指定的若干个选项,每个选项间用|分隔

*'var',定义一个变量的名字,脚本开始后可以通过访问这个变量来获取用户选择的内容

*'注释',显示在下拉列表上方,用于说明该下拉列表的用途

***说明***

全局代码块(不包含在任何函数内的代码块)会在脚本的main()函数之前被调用,所以可以在全局代码块中对UI变量进行动态的设置,UI变量是一个Table类型的变量,可以使用Lua的Table库函数操作,下面是一个操作UI变量的例子:

file=io.open("/var/touchelf/conf.txt");--打开配置文件

data=("*a");--读取全部内容

();--关闭文件

UI={

{'InputBox{'..data..'}','demo','演示:

'},

}

functionmain()

notifyMessage(string.format("%s",demo));

end

2.3扩展函数

logDebug()

函数说明:

输出调试信息到系统日志,可以在“触摸精灵->设置->查看日志”中查看

参数

参数1(字符串):

调试信息

返回值

示例

logDebug("hello");--输出"hello"到系统日志

mSleep()

函数说明:

进行毫秒级别延迟

参数

参数1(数字):

毫秒数

返回值

示例

mSleep(1000);--延迟1秒

notifyMessage()

函数说明:

以文字提示框的方式通知用户

参数

参数1(字符串):

提示文字

参数2(数字,可选):

显示的时间,单位为毫秒,默认为1000

返回值

示例

notifyMessage("hello");--在屏幕上显示"hello"

notifyMessage("hello",5000);--在屏幕上显示"hello",显示5秒

notifyVibrate()

函数说明:

以震动方式通知用户

参数

参数1(数字):

毫秒数

返回值

示例

notifyVibrate(1000);--让设备震动1秒

notifyVoice()

函数说明:

以播放音频的方式通知用户

参数

参数1(字符串):

音频路径

返回值

示例

notifyVoice("/var/touchelf/a.mp3");--播放路径为"/var/touchelf/a.mp3"的音频

touchDown()

函数说明:

发送手指按下事件

参数

参数1(数字):

手指ID,范围0~128,用于标识一个手指,在后续的touchMove()和touchUp()中需要使用

参数2(数字):

X坐标

参数3(数字):

Y坐标

返回值

示例

touchDown(0,100,100);--ID为0的手指在坐标为(100,100)的点按下

touchUp(0);--ID为0的手指抬起

touchMove()

函数说明:

发送手指移动事件

参数

参数1(数字):

touchDown()时传入的手指ID

参数2(数字):

X坐标

参数3(数字):

Y坐标

返回值

示例

touchDown(0,100,100);--ID为0的手指在坐标为(100,100)的点按下

touchMove(0,200,100);--ID为0的手指滑动到坐标为(200,100)的点

touchUp(0);--ID为0的手指抬起

touchUp()

函数说明:

发送手指抬起事件

参数

参数1(数字):

touchDown()时传入的手指ID

返回值

示例

touchDown(0,100,100);--ID为0的手指在坐标为(100,100)的点按下

touchUp(0);--ID为0的手指抬起

keyDown()

函数说明:

发送物理按键按下事件

参数

参数1(字符串):

物理键名称,IOS触摸精灵现在支持的有'HOME'

返回值

示例

keyDown('HOME');--HOME键按下

keyUp('HOME');--HOME键抬起

keyUp()

函数说明:

发送物理按键抬起事件

参数

参数1(字符串):

物理键名称,IOS触摸精灵现在支持的有'HOME'

返回值

示例

keyDown('HOME');--HOME键按下

keyUp('HOME');--HOME键抬起

getColor()

函数说明:

获取指定像素的颜色

参数

参数1(数字):

X坐标

参数2(数字):

Y坐标

返回值

返回值1(数字):

颜色值

示例

c=getColor(100,100);--将坐标为(100,100)的点的颜色保存在变量c中

ifc==0x0000ffthen--如果该点颜色为0x0000ff(纯蓝色)

touchDown(0,100,100);--那么点击该坐标

touchUp(0);

end

getColorRGB()

函数说明:

获取指定像素颜色的R、G、B三个值

参数

参数1(数字):

X坐标

参数2(数字):

Y坐标

返回值

返回值1(数字):

R

返回值2(数字):

G

返回值3(数字):

B

示例

r,g,b=getColorRGB(100,100);--将坐标为(100,100)的点的颜色的R、G、B分别保存在变量r、g、b中

ifr==0x00andb==0x00andg==0xffthen--如果该点颜色为0x0000ff(纯蓝色)

touchDown(0,100,100);--那么点击该坐标

touchUp(0);

end

findColor()

函数说明:

全屏找色

参数

参数1(数字):

要找的颜色

返回值

返回值1(数字):

X坐标,如果没找到返回-1

返回值1(数字):

Y坐标,如果没找到返回-1

示例

x,y=findColor(0x0000ff);--在全屏范围找到第一个颜色为0x0000ff的点,将其坐标保存到变量x和y中

ifx~=-1andy~=-1then--如果找到了

touchDown(0,x,y);--点击那个点

touchUp(0);

end

findColorFuzzy()

函数说明:

全屏模糊找色

参数

参数1(数字):

要找的颜色

参数2(数字):

精确度,有效范围为1~100

返回值

返回值1(数字):

X坐标,如果没找到返回-1

返回值1(数字):

Y坐标,如果没找到返回-1

示例

x,y=findColorFuzzy(0x0000ff,90);--在全屏范围找到第一个颜色为0x0000ff的点,精确度为90%,将其坐标保存到变量x和y中

ifx~=-1andy~=-1then--如果找到了

touchDown(0,x,y);--点击那个点

touchUp(0);

end

findColorInRegion()

函数说明:

区域找色

参数

参数1(数字):

要找的颜色

参数2(数字):

区域左上角X坐标

参数3(数字):

区域左上角Y坐标

参数4(数字):

区域右下角X坐标

参数5(数字):

区域右下角Y坐标

返回值

返回值1(数字):

X坐标,如果没找到返回-1

返回值1(数字):

Y坐标,如果没找到返回-1

示例

x,y=findColorInRegion(0x0000ff,100,100,200,200);--在区域[(100,100)(200,200)]范围找到第一个颜色为0x0000ff的点,将其坐标保存到变量x和y中

ifx~=-1andy~=-1then--如果找到了

touchDown(0,x,y);--点击那个点

touchUp(0);

end

findColorInRegionFuzzy()

函数说明:

区域模糊找色

参数

参数1(数字):

要找的颜色

参数2(数字):

精确度,有效范围为1~100

参数3(数字):

区域左上角X坐标

参数4(数字):

区域左上角Y坐标

参数5(数字):

区域右下角X坐标

参数6(数字):

区域右下角Y坐标

返回值

返回值1(数字):

X坐标,如果没找到返回-1

返回值1(数字):

Y坐标,如果没找到返回-1

示例

x,y=findColorInRegionFuzzy(0x0000ff,90,100,100,200,200);--在区域[(100,100)(200,200)]范围找到第一个颜色为0x0000ff的点,精确度为90%,将其坐标保存到变量x和y中

ifx~=-1andy~=-1then--如果找到了

touchDown(0,x,y);--点击那个点

touchUp(0);

end

findImage()

函数说明:

全屏找图

参数

参数1(字符串):

要找的图片的路径,只支持BMP格式

参数2(数字,可选):

指定图片中透明颜色

返回值

返回值1(数字):

X坐标,如果没找到返回-1

返回值1(数字):

Y坐标,如果没找到返回-1

示例

x,y=findImage("/var/touchelf/a.bmp");--在全屏范围找到第一个路径为"/var/touchelf/a.bmp"的图片,将其左上角坐标保存到变量x和y中

ifx~=-1andy~=-1then--如果找到了

touchDown(0,x,y);--点击那个点

touchUp(0);

end

x,y=findImage("/var/touchelf/a.bmp",0x000000);--在全屏范围找到第一个路径为"/var/sdcar/a.bmp"的图片,忽略图片中颜色为0x000000(黑色)的点,将其左上角坐标保存到变量x和y中

ifx~=-1andy~=-1then--如果找到了

touchDown(0,x,y);--点击那个点

touchUp(0);

end

findImageFuzzy()

函数说明:

全屏模糊找图

参数

参数1(字符串):

要找的图片的路径,只支持BMP格式

参数2(数字):

精确度,有效范围为1~100

参数3(数字,可选):

指定图片中透明颜色

返回值

返回值1(数字):

X坐标,如果没找到返回-1

返回值1(数字):

Y坐标,如果没找到返回-1

示例

x,y=findImageFuzzy("/var/touchelf/a.bmp",90);--在全屏范围找到第一个路径为"/var/sdcar/a.bmp"的图片,精确度为90,将其左上角坐标保存到变量x和y中

ifx~=-1andy~=-1then--如果找到了

touchDown(0,x,y);--点击那个点

touchUp(0);

end

x,y=findImageFuzzy("/var/touchelf/a.bmp",90,0x000000);--在全屏范围找到第一个路径为"/var/sdcar/a.bmp"的图片,精确度为90,忽略图片中颜色为0x000000(黑色)的点,将其左上角坐标保存到变量x和y中

ifx~=-1andy~=-1then--如果找到了

touchDown(0,x,y);--点击那个点

touchUp(0);

end

findImageInRegion()

函数说明:

区域找图

参数

参数1(字符串):

要找的图片的路径,只支持BMP格式

参数2(数字):

区域左上角X坐标

参数3(数字):

区域左上角Y坐标

参数4(数字):

区域右下角X坐标

参数5(数字):

区域右下角Y坐标

参数6(数字,可选):

指定图片中透明颜色

返回值

返回值1(数字):

X坐标,如果没找到返回-1

返回值1(数字):

Y坐标,如果没找到返回-1

示例

x,y=findImageInRegion("/var/touchelf/a.bmp",100,100,200,200);--在区域[(100,100)(200,200)]范围找到第一个路径为"/var/sdcar/a.bmp"的图片,将其左上角坐标保存到变量x和y中

ifx~=-1andy~=-1then--如果找到了

touchDown(0,x,y);--点击那个点

touchUp(0);

end

x,y=findImageInRegion("/var/touchelf/a.bmp",100,100,200,200,0x000000);--在区域[(100,100)(200,200)]范围找到第一个路径为"/var/sdcar/a.bmp"的图片,忽略图片中颜色为0x000000(黑色)的点,将其左上角坐标保存到变量x和y中

ifx~=-1andy~=-1then--如果找到了

touchDown(0,x,y);--点击那个点

touchUp(0);

end

findImageInRegionFuzzy()

函数说明:

区域模糊找图

参数

参数1(字符串):

要找的图片的路径,只支持BMP格式

参数2(数字):

精确度,有效范围为1~100

参数3(数字):

区域左上角X坐标

参数4(数字):

区域左上角Y坐标

参数5(数字):

区域右下角X坐标

参数6(数字):

区域右下角Y坐标

参数7(数字,可选):

指定图片中透明颜色

返回值

返回值1(数字):

X坐标,如果没找到返回-1

返回值1(数字):

Y坐标,如果没找到返回-1

示例

x,y=findImageInRegionFuzzy("/var/touchelf/a.bmp",90,100,100,200,200);--在区域[(100,100)(200,200)]范围找到第一个路径为"/var/sdcar/a.bmp"的图片,精确度为90,将其左上角坐标保存到变量x和y中

ifx~=-1andy~=-1then--如果找到了

touchDown(0,x,y);--点击那个点

touchUp(0);

end

x,y=findImageInRegionFuzzy("/var/touchelf/a.bmp",90,100,100,200,200,0x000000);--在区域[(100,100)(200,200)]范围找到第一个路径为"/var/sdcar/a.bmp"的图片,精确度为90,忽略图片中颜色为0x000000(黑色)的点,将其左上角坐标保存到变量x和y中

ifx~=-1andy~=-1then--如果找到了

touchDown(0,x,y);--点击那个点

touchUp(0);

end

snapshotScreen()

函数说明:

全屏截图

参数

参数1(字符串):

保存截图的路径,支持BMP格式和JPG格式,根据文件名后缀智能判断

参数2(数字,可选):

图片尺寸缩放百分比,有效范围为10~100,默认为100

返回值

示例

snapshotScreen("/mnt/sdcard/a.bmp");--将全屏截图保存到路径为"/mnt/sdcard/a.bmp"的图片中,格式为BMP

snapshotScreen("/mnt/sdcard/a.jpg,50");--将全屏截图保存到路径为"/mnt/sdcard/a.jpg"的图片中,格式为JPG,并且尺寸缩小为原始尺寸的50%

snapshotRegion()

函数说明:

区域截图

参数

参数1(字符串):

保存截图的路径,支持BMP格式和JPG格式,根据文件名后缀智能判断

参数2(数字):

区域左上角X坐标

参数3(数字):

区域左上角Y坐标

参数4(数字):

区域右下角X坐标

参数5(数字):

区域右下角Y坐标

参数6(数字,可选):

图片尺寸缩放百分比,有效范围为10~100,默认为100

返回值

示例

snapshotRegion("/mnt/sdcard/a.bmp",100,100,200,200);--将区域[(100,100)(200,200)]的截图保存到路径为/mnt/sdcard/a.bmp的图片中,格式为BMP

snapshotRegion("/mnt/sdcard/a.jpg",100,100,200,200,50);--将区域[(100,100)(200,200)]的截图保存到路径为/mnt/sdcard/a.jpg的图片中,格式为JPG,并且尺寸缩小为原始尺寸的50%

localOcrText()

函数说明:

进行本地图片识别

参数

参数1(字符串):

语言包tessdata目录的路径(在下载语言包,将解压后的tessdata目录复制到设备中)

参数2(字符串):

语言类型

'eng':

英文语言类型

'chi_sim':

中文语言类型

参数3(数字):

待识别图片区域的左上角X坐标

参数4(数字):

待识别图片区域的左上角Y坐标

参数5(数字):

待识别图片区域的右下角X坐标

参数6(数字):

待识别图片区域的右下角Y坐标

参数7(字符串,可选):

设置白名单,只有白名单中的字符才会被识别

返回值

返回值1(字符串):

图片识别后得到的答案,失败的话返回空字符串

示例

code=localOcrText("/mnt/sdcard/Touchelper/tessdata",--语言包tessdata目录在设备中的路径

"eng",--语言类型为中文

100,--图片左上角X坐标为100

100,--图片左上角Y坐标为100

200,--图片右下角X坐标为200

200);--图片右下角Y坐标为200

ifcode==""then

notifyMessage("识别失败");

else

notifyMessage(string

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2