您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页脚本精灵和触摸精灵函数表

脚本精灵和触摸精灵函数表

来源:好走旅游网
按键精灵基础函数1.模拟点击屏幕原型touchClick(x,y)参数参数1:必填,x坐标,数字类型参数2:必填,y坐标,数字类型返回值无示例touchClick(100,100); --触摸点击坐标(100,100)2.触摸按下模拟按下手指原型:touchDown(x,y,id)参数参数1:必填,x坐标,数字类型参数2:必填,y坐标,数字类型参数3:可选,跟踪ID,表示想要按下哪个手指,用于多点触摸。默认为0返回值无示例touchDown(100,100); --手指0按下坐标(100,100)touchDown(200,200,1); --手指1按下坐标(200,200)3.触摸弹起模拟弹起手指原型:touchUp(id)参数参数1:可选,跟踪ID,表示想要弹起哪个手指,用于多点触摸。默认为0返回值无示例touchUp(); --手指0弹起touchUp(1); --手指1弹起4.触摸滑动模拟手指在屏幕上滑动,滑动前需要先调用触摸按下函数原型:touchMove(x,y,id)参数参数1:必填,x坐标,数字类型参数2:必填,y坐标,数字类型参数3:可选,跟踪ID,表示想要滑动的手指标识,用于多点触摸。默认为0返回值无示例touchDown(100,100); --手指0按下坐标(100,100)touchDown(200,200,1); --手指1按下坐标(200,200)touchMove(300,300); --手指0滑动到坐标(300,300)touchMove(50,50,1); --手指1按下坐标(200,200)touchUp(0); --手指0弹起touchUp(1); --手指1弹起5.输入文本在当前屏幕上获得焦点的文本框中输入一个文本字符串,目前只支持字母、数字和空格原型input(text)参数参数1:必填,要输入的文本,字符串类型返回值无示例input(\"10086\"); --输入10086input(\"ab 11\"); --输入ab 116.模拟按键模拟点击设备上的按键,如0-9的数字,a-z的字母,返回键,确认键、HOME键等原型input(code)参数参数1:必填,要点击的按键虚拟码,数字类型。按键对应的虚拟码请参照附录5.1 虚拟键码对照表返回值无示例input(4); --点击返回键7.获取颜色获取屏幕上指定坐标的颜色值原型:getColor(x,y)参数参数1:必填,x坐标,数字类型参数2:必填,y坐标,数字类型返回值返回值1:屏幕上坐标(x,y)的颜色值,数字类型示例local color = getColor(100,100); --获取屏幕上坐标(100,100)处的颜色值8.普通寻色在一个范围内寻找指定颜色,如果没有填写范围参数,则全屏找色原型:findColor(color,x1,y1,x2,y2)参数参数1:必填,需要寻找的颜色的值,数字类型参数2:选填,表示矩形范围左上顶点的x坐标,数字类型参数3:选填,表示矩形范围左上顶点的y坐标,数字类型参数4:选填,表示矩形范围右下顶点的y坐标,数字类型参数5:选填,表示矩形范围右下顶点的y坐标,数字类型返回值返回值1:是否找到颜色,布尔类型返回值2:该颜色相对于屏幕上的x坐标,数字类型返回值3:该颜色相对于屏幕上的y坐标,数字类型示例local flag,x,y = findColor(0xFF0000,100,100,200,200); --在屏幕范围(100,100,200,200)内寻找纯红色(0xFF0000)if flag then toast(\"在坐标(\"..x..\9.模糊寻色在一个范围内寻找指定颜色,如果没有填写范围参数,则全屏找色,另外加一个相似值,表示相近的颜色也匹配,建议使用80原型:findColorFuzzy(color,clarity,x1,y1,x2,y2)参数参数1:必填,需要寻找的颜色的值,数字类型参数2:必填,表示相似度,范围1-100,建议使用80,数字类型参数2:选填,表示矩形范围左上顶点的x坐标,数字类型参数3:选填,表示矩形范围左上顶点的y坐标,数字类型参数4:选填,表示矩形范围右下顶点的y坐标,数字类型参数5:选填,表示矩形范围右下顶点的y坐标,数字类型返回值返回值1:是否找到颜色,布尔类型返回值2:该颜色相对于屏幕上的x坐标,数字类型返回值3:该颜色相对于屏幕上的y坐标,数字类型示例local flag,x,y = findColorFuzzy(0xFF0000,80,100,100,200,200); --在屏幕范围(100,100,200,200)内以相似度80%寻找纯红色(0xFF0000)if flag then toast(\"在坐标(\"..x..\

返回值2:该颜色相对于屏幕上的x坐标,数字类型返回值3:该颜色相对于屏幕上的y坐标,数字类型示例

local flag,x,y = findColorFuzzy(0xFF0000,80,100,100,200,200); --在屏幕范围(100,100,200,200)内以相似度80%寻找纯红色(0xFF0000)if flag then toast(\"在坐标(\"..x..\10.RGB颜色合成使用指定的红绿蓝三种颜色合成一个颜色值原型:RGB(r,g,b)参数参数1:必填,红色值,范围:0-255,数字类型参数2:必填,绿色值,范围:0-255,数字类型参数3:必填,蓝色值,范围:0-255,数字类型返回值返回值1:合成后的颜色的RGB值示例--将红、绿、蓝对应的值:0,255,0合成一个颜色值,这里合成后为一个纯绿色颜色值。执行后,rgb等于0x00FF00等于65280local rgb = RGB(0,255,0);11.获取颜色RGB获取屏幕上指定坐标的颜色的RGB值原型getColorRGB(x,y)参数参数1:必填,x坐标,数字类型参数2:必填,y坐标,数字类型返回值返回值1:R,屏幕上坐标(x,y)的颜色值的红色值,数字类型,0-255返回值2:G,屏幕上坐标(x,y)的颜色值的绿色值,数字类型,0-255返回值3:B,屏幕上坐标(x,y)的颜色值的蓝色值,数字类型,0-255示例local r,g,b = getColorRGB(100,100); --获取屏幕上坐标(100,100)处的颜色值的RGB值分别存入r,g,b三个变量中12.判断颜色判断指定坐标的颜色。PS:使用该函数(多点确定一个图或多个图)代替寻图函数可以大大的提高脚本的执行速度和性能。原型isColor(x,y,color)参数参数1:必填,x坐标,数字类型参数2:必填,y坐标,数字类型参数3:必填,要判断的颜色,数字类型参数4:可选,相似度,范围50-100,建议用80,数字类型返回值返回值1:布尔类型,屏幕上坐标(x,y)的颜色是否为color指定的颜色,是返回true,否返回false返回值2:屏幕上坐标(x,y)实际的颜色值,如果[返回值1]为true,则[返回值2]与参数color相等第二个返回值不需要用到的话可以当做他不存在示例--判断屏幕上坐标(100,100)处的颜色值是否为0xFFFFFF,是就点击坐标(200,200)if isColor(100,100,0xFFFFFF)then touchClick(200,200);end13.精确寻图在屏幕中寻找指定的图片,精确度为100%,即不能有一个字节的不匹配才算找到图片。 图片路径必须是相对脚本工程的路径,图片路径参考图片路径原型:findImage(path)参数参数1:必填,图片路径,字符串类型返回值返回值1:布尔类型,如果找到返回true,没有找到则返回false返回值2:图片在屏幕中的x坐标,如果图片没有找到,则忽略该值。数字类型返回值3:图片在屏幕中的y坐标,如果图片没有找到,则忽略该值。数字类型示例--在屏幕中寻找图片[截图/1.bmp],如果找到则提示图片坐标并点击,没有找到则提示没有找到local flag,x,y = findImage(\"截图/1.bmp\")if flag then toast(string.format(\"在坐标(%d,%d)找到了图片[1.bmp]\--触摸点击坐标(x,y)else toast(\"没有找到图片[1.bmp]\");end14.点击图片在屏幕中用精确寻图的方式寻找指定的图片,如果找到则自动计算该图片的中心坐标并点击原型clickImage(path)参数参数1:必填,图片路径,字符串类型返回值返回值1:布尔类型,如果找到并点击成功则返回true,没有找到或点击失败则返回false示例clickImage(\"截图/1.bmp\") --点击图片[截图/1.bmp]15.范围寻图在屏幕中指定矩形范围内精确寻图,其他信息参见精确寻图原型findImage(path,x1,y1,x2,y2)参数参数1:必填,图片路径,字符串类型参数2:必填,矩形范围左上顶点x坐标,数字类型参数3:必填,矩形范围左上顶点y坐标,数字类型参数4:必填,矩形范围右下顶点x坐标,数字类型参数5:必填,矩形范围右下顶点y坐标,数字类型返回值返回值1:布尔类型,如果找到返回true,没有找到则返回false返回值2:图片在屏幕中的x坐标,如果图片没有找到,则忽略该值。数字类型返回值3:图片在屏幕中的y坐标,如果图片没有找到,则忽略该值。数字类型示例--在屏幕中(100,100,200,200)范围内寻找图片[截图/1.bmp],如果找到则提示图片坐标并点击,没有找到则提示没有找到local flag,x,y = findImage(\"截图/1.bmp\",100,100,200,200)if flag then toast(string.format(\"在坐标(%d,%d)找到了图片[1.bmp]ouchClick(x,y); --触摸点击坐标(x,y)else toast(\"没有找到图片[1.bmp]\");end16.模糊寻图在屏幕中模糊寻找指定图片,允许一定程度的不匹配原型findImageFuzzy(path,clarity)参数参数1:必填,图片路径,字符串类型参数2:必填,清晰度百分比,范围:50-99,100的效果跟精确寻图一样,数字类型返回值返回值1:布尔类型,如果找到返回true,没有找到则返回false返回值2:图片在屏幕中的x坐标,如果图片没有找到,则忽略该值。数字类型返回值3:图片在屏幕中的y坐标,如果图片没有找到,则忽略该值。数字类型示例--在屏幕中设置清晰度为95%,全屏模糊寻找图片[截图/1.bmp],如果找到则提示图片坐标并点击,没有找到则提示没有找到local flag,x,y = findImageFuzzy(\"截图/1.bmp\if flag then toast(string.format(\"在坐标(%d,%d)找到了图片[1.bmp]ouchClick(x,y); --触摸点击坐标(x,y)else toast(\"没有找到图片[1.bmp]\");end17.范围模糊寻图在屏幕中指定矩形范围内模糊寻图,更多信息请参见模糊寻图原型findImageFuzzy(path,clarity,x1,y1,x2,y2)参数参数1:必填,图片路径,字符串类型参数2:必填,清晰度百分比,范围:50-99,100的效果跟精确寻图一样,数字类型参数3:必填,矩形范围左上顶点x坐标,数字类型参数4:必填,矩形范围左上顶点y坐标,数字类型参数5:必填,矩形范围右下顶点x坐标,数字类型参数6:必填,矩形范围右下顶点y坐标,数字类型返回值返回值1:布尔类型,如果找到返回true,没有找到则返回false返回值2:图片在屏幕中的x坐标,如果图片没有找到,则忽略该值。数字类型返回值3:图片在屏幕中的y坐标,如果图片没有找到,则忽略该值。数字类型示例-设置清晰度为95%,在屏幕中(100,100,200,200)范围内模糊寻找图片[截图/1.bmp],如果找到则提示图片坐标并点击,没有找到则提示没有找到local flag,x,y = findImageFuzzy(\"截图/1.bmp\if flag then toast(string.format(\"在坐标(%d,%d)找到了图片[1.bmp]\else toast(\"没有找到图片[1.bmp]\");end18.不规则寻图在屏幕中寻找指定图片,可以忽略一个颜色值。也称为透明寻图、背景寻图。原型findImageIrregular(path,ignoreColor)参数参数1:必填,图片路径,字符串类型参数2:必填,要忽略的颜色值(背景色),数字类型返回值返回值1:布尔类型,如果找到返回true,没有找到则返回false返回值2:图片在屏幕中的x坐标,如果图片没有找到,则忽略该值。数字类型返回值3:图片在屏幕中的y坐标,如果图片没有找到,则忽略该值。数字类型示例--在屏幕中不规则寻找图片[截图/1.bmp],忽略颜色0xFFFFFF(背景色),如果找到则提示图片坐标并点击,没有找到则提示没有找到local flag,x,y = findImageIrregular(\"截图/1.bmp\if flag then toast(string.format(\"在坐标(%d,%d)找到了图片[1.bmp]ouchClick(x,y); --触摸点击坐标(x,y)else toast(\"没有找到图片[1.bmp]\");end19.范围不规则寻图在屏幕中指定范围内不规则寻图。更多信息请参见不规则寻图。原型findImageIrregular(path,ignoreColor,x1,y1,x2,y2)参数参数1:必填,图片路径,字符串类型参数2:必填,要忽略的颜色值(背景色),数字类型参数3:必填,矩形范围左上顶点x坐标,数字类型参数4:必填,矩形范围左上顶点y坐标,数字类型参数5:必填,矩形范围右下顶点x坐标,数字类型参数6:必填,矩形范围右下顶点y坐标,数字类型返回值返回值1:布尔类型,如果找到返回true,没有找到则返回false返回值2:图片在屏幕中的x坐标,如果图片没有找到,则忽略该值。数字类型返回值3:图片在屏幕中的y坐标,如果图片没有找到,则忽略该值。数字类型示例--在屏幕中(100,100,200,200)范围内不规则寻找图片[截图/1.bmp],忽略颜色0xFFFFFF(背景色),如果找到则提示图片坐标并点击,没有找到则提示没有找到local flag,x,y = findImageFuzzy(\"截图/1.bmp\if flag then toast(string.format(\"在坐标(%d,%d)找到了图片[1.bmp]ouchClick(x,y); --触摸点击坐标(x,y)else toast(\"没有找到图片[1.bmp]\");end20.模糊不规则寻图在屏幕中指定范围内不规则寻图。更多信息请参见 模糊寻图 和 不规则寻图。原型findImageFuzzyIrregular(path,clarity,color)参数参数1:必填,图片路径,字符串类型参数2:必填,清晰度百分比,范围:50-99,100的效果跟精确寻图一样,数字类型参数3:必填,要忽略的颜色值(背景色),数字类型返回值返回值1:布尔类型,如果找到返回true,没有找到则返回false返回值2:图片在屏幕中的x坐标,如果图片没有找到,则忽略该值。数字类型返回值3:图片在屏幕中的y坐标,如果图片没有找到,则忽略该值。数字类型示例--设置清晰度为95%,在屏幕中模糊并且不规则寻找图片[截图/1.bmp],忽略颜色0xFFFFFF(背景色),如果找到则提示图片坐标并点击,没有找到则提示没有找到local flag,x,y = findImageFuzzy(\"截图/1.bmp\if flag then toast(string.format(\"在坐标(%d,%d)找到了图片[1.bmp]ouchClick(x,y); --触摸点击坐标(x,y)else toast(\"没有找到图片[1.bmp]\");end21.范围模糊不规则寻图在屏幕中指定范围内模糊不规则寻图。更多信息请参见 模糊不规则寻图。原型findImageFuzzyIrregular(path,clarity,color,x1,y1,x2,y2)参数参数1:必填,图片路径,字符串类型参数2:必填,清晰度百分比,范围:50-99,100的效果跟精确寻图一样,数字类型参数3:必填,要忽略的颜色值(背景色),数字类型参数4:必填,矩形范围左上顶点x坐标,数字类型参数5:必填,矩形范围左上顶点y坐标,数字类型参数6:必填,矩形范围右下顶点x坐标,数字类型参数7:必填,矩形范围右下顶点y坐标,数字类型返回值返回值1:布尔类型,如果找到返回true,没有找到则返回false返回值2:图片在屏幕中的x坐标,如果图片没有找到,则忽略该值。数字类型返回值3:图片在屏幕中的y坐标,如果图片没有找到,则忽略该值。数字类型示例--设置清晰度为95%,在屏幕中(100,100,200,200)范围内模糊并且不规则寻找图片[截图/1.bmp],忽略颜色0xFFFFFF(背景色),如果找到则提示图片坐标并点击,没有找到则提示没有找到local flag,x,y = findImageFuzzyIrregular(\"截图/1.bmp\if flag then toast(string.format(\"在坐标(%d,%d)找到了图片[1.bmp]ouchClick(x,y); --触摸点击坐标(x,y)else toast(\"没有找到图片[1.bmp]\");end22.休眠脚本休眠指定毫秒数。原型:sleep(n)参数参数1:必填,需要休眠的毫秒数,1秒=1000毫秒,数字类型返回值无示例toast(\"1100毫秒后,脚本继续执行...\"); --提示信息,提示完后休眠1100毫秒sleep(1000); --休眠1000毫秒,即1秒sleep(100); --休眠100毫秒,即1/10秒23.获取屏幕分辨率获取屏幕分辨率。原型:getResolutionRatio()参数无返回值返回值1:分辨率的宽返回值2:分辨率的高示例local w,h = getResolutionRatio(); --获取屏幕分辨率toast(string.format(\"当前屏幕分辨率为:%dx%d\24.获取屏幕色位获取屏幕色位,即获取当前屏幕设备一个颜色值占多少位。16/24/32原型:getBitsPerPixel()参数无返回值返回值1:当前屏幕的色位。示例local bits = getBitsPerPixel(); --获取屏幕色位toast(string.format(\"当前屏幕分辨率为:%d\25.弹出文本提示在屏幕中弹出文本提示,2.5秒后消失原型:toast(text)参数参数1,必填,要显示的文本信息,字符串类型。返回值无示例toast(\"hello\"); --显示hello26.震动设备震动提示,只对支持震动的设备有效,一边对手机都有效,对平板无效。原型:vibrate(m)参数参数1:必填,表示要震动的时长,单位为毫秒,1000毫秒=1秒,数字类型。返回值无示例vibrate(2000); --震动2秒27.记录日志记录脚本中自定义的日志,日志自动保存在[/SD卡/ScriptElf/logs/[当天日期].log]下。日志会自动加上输出时间。该函数可支持开发平台的远程调试,在远程调试窗口中显示的文字为绿色。原型log(text)参数参数1:必填,表示要记录的日志,字符串类型。返回值无示例--记录日志信息“111111111”log(\"111111111\");--执行后,假如当前时间为2013-7-24 12:32:20,则日志保存在文件:[/SD卡/ScriptElf/logs/2013-7-24.log]下。--记录的日志内容为:2013-7-24 12:32:20 : 11111111128 记录错误日志跟log()函数类似,区别是loge()函数在日志记录时间后面会加上“错误”两个字,在开发平台远程调试窗口中显示的文字为红色原型loge(text)参数参数1:必填,表示要记录的错误日志,字符串类型。返回值无示例--记录错误日志信息“坐标100,100的颜色不为0xFF0000”loge(\"坐标100,100的颜色不为0xFF0000\");--执行后,假如当前时间为2013-7-24 12:32:20,则日志保存在文件:[/SD卡/ScriptElf/logs/2013-7-24.log]下。--记录的日志内容为:2013-7-24 12:32:20 错误 : 坐标100,100的颜色不为0xFF000029 查找某应用是否安装查找一个应用是否已经在手机中安装原型findApp(pkgName)参数参数1:必填,表示要查找的应用的包名,字符串类型。手机中一般的应用管理工具都可以看到应用包名。返回值返回值1:布尔类型,存在这个应用返回true,不存在返回false。示例--查找QQ是否安装,QQ的包名为“com.tencent.qq”if findApp(\"com.tencent.qq\") then toast(\"未安装QQ\");else toast(\"已安装QQ\");end30 判断某应用是否正在运行判断某应用是否正在运行原型isRunning(pkgName)参数参数1:必填,表示要查找的应用的包名,字符串类型。手机中一般的应用管理工具都可以看到应用包名。返回值返回值1:布尔类型,指定应用正在运行返回true,没有运行返回false。示例--查找QQ是否正在运行,QQ的包名为“com.tencent.qq”if isRunning(\"com.tencent.qq\") then toast(\"QQ正在运行中...\");else toast(\"QQ未运行...\");end31 启动指定应用启动指定应用原型startApp(pkgName)参数参数1:必填,表示要启动的应用的包名,字符串类型。手机中一般的应用管理工具都可以看到应用包名。返回值无示例--如果QQ已经安装并且未启动则启动它,QQ的包名为“com.tencent.qq”,local pkgName = “com.tencent.qq”;if not findApp(pkgName) then --如果没有安装QQ,则提示未安装QQ toast(\"QQ未安装\");elseif not isRunning(pkgName) then --否则如果已经安装QQ并且QQ没有运行,则启动QQ startApp(pkgName);end32 结束一个应用结束一个正在运行的应用原型kill(pkgName)参数参数1:必填,表示要结束的应用的包名,字符串类型。手机中一般的应用管理工具都可以看到应用包名。返回值无示例--如果QQ正在运行,则结束它,QQ的包名为“com.tencent.qq”if isRunning(\"com.tencent.qq\") then kill(\"com.tencent.qq\");end33 退出当前脚本停止当前脚本的运行原型exit()参数无返回值无示例--如果当前手机的UDID不等于“ALJFLJSLK32329FAKJL43434”,则退出当前脚本if getUDID() ~= \"ALJFLJSLK32329FAKJL43434\" then exit();end34 获取SD卡路径获取设备上SD卡的绝对路径。原型getSDCardPath()参数无返回值返回值1:SD卡在设备上的绝对路径,字符串类型示例--获取SD卡路径并显示出来local sdcardPath = getSDCardPath();toast(sdcardPath);35 截图到文件截取屏幕内容到图片文件,可指定范围截图。不指定范围则表示全屏截图。原型screencapToFile(path,x1,y1,x2,y2)参数参数1:必填,截图保存的文件路径,可配合获取SD卡路径函数来使用,字符串类型参数1:选填,范围截图矩形的左上顶点x坐标,数字类型参数2:选填,范围截图矩形的左上顶点y坐标,数字类型参数3:选填,范围截图矩形的右下顶点x坐标,数字类型参数4:选填,范围截图矩形的右下顶点y坐标,数字类型返回值返回值1:表示是否截图成功,布尔类型示例--截取屏幕范围(100,100,200,200)保存到文件\"[SD卡]/截图/[当前时间戳].bmp\"screencapToFile(string.format(\"%s/截图/%d.bmp\36 拷贝文本到剪切板拷贝文本到剪切板,可以配合输入法粘贴出来,支持中文。原型copy(text)参数参数1:必填,需要拷贝到剪切板的文本,字符串类型返回值无示例--拷贝文本\"你好abc123@@##¥¥0.0\"到剪切板copy(\"你好abc123@@##¥¥0.0\")--之后可操作输入法将其粘贴到文本框中高级函37.获取设备UDID唯一串获取设备综合唯一串,该串由脚本精灵根据当前设备硬件信息、操作系统信息、品牌数据综合计算而来,不同的两台设备得到的值必然不同原型getUDID()参数无返回值返回值1:设备UDID唯一串,字符串类型示例--获取当前UDID与指定的串\"AFLJE324234LJNAD6343434SLSDL\"比较,如果不相等,则提示未授权,然后退出脚本if getUDID() ~= \"AFLJE324234LJNAD6343434SLSDL\" then toast(\"当前用户未授权...\");--提示当前用户未授权os.exit(); --停止并退出脚本endtoast(\"用户已通过授权认证...\"); --执行到了这里表示当前UDID串与指定串相等,可以继续往后执行脚本38.获取网卡MAC获取设备网卡物理地址(MAC)原型getWifiMAC()参数无返回值返回值1:当前Wifi网卡设备的物理地址串,即MAC,字符串类型示例--获取当前Wifi设备的MAC串与指定的串\"aa:bb:cc:dd\"比较,如果不相等,则提示未授权,然后退出脚本if getWifiMAC() ~= \"aa:bb:cc:dd\" then toast(\"当前用户未授权...\"); --提示当前用户未授权os.exit(); --停止并退出脚本endtoast(\"用户已通过授权认证...\"); --执行到了这里表示当前蓝牙设备MAC与指定串相等,可以继续往后执行脚本39.获取蓝牙设备MAC获取蓝牙设备物理地址(MAC)原型getBluetoothMAC()参数无返回值返回值1:当前蓝牙设备的物理地址串,即MAC,字符串类型示例--获取当前蓝牙设备的MAC串与指定的串\"aa:bb:cc:dd\"比较,如果不相等,则提示未授权,然后退出脚本if getBluetoothMAC() ~= \"aa:bb:cc:dd\" then toast(\"当前用户未授权...\"); --提示当前用户未授权os.exit(); --停止并退出脚本endtoast(\"用户已通过授权认证...\"); --执行到了这里表示当前蓝牙设备MAC与指定串相等,可以40.获取IMEI获取设备IMEI串原型getIMEI()参数无返回值返回值1:当前设备的IMEI串,字符串类型示例--获取当前设备的IMEI串与指定的串\"34345345345\"比较,如果不相等,则提示未授权,然后退出脚本if getIMEI() ~= \"34345345345\" then toast(\"当前用户未授权...\"); --提示当前用户未授权os.exit(); --停止并退出脚本endtoast(\"用户已通过授权认证...\"); --执行到了这里表示当前设备IMEI串与指定串相等,可以继续往后执行脚本41.获取设备信息串获取脚本精灵根据设备信息计算而来的串原型getDeviceInfo()参数无返回值返回值1:设备信息串,字符串类型示例--获取当前设备的设备信息串与指定的串\"34345345345\"比较,如果不相等,则提示未授权,然后退出脚本if getDeviceInfo() ~= \"34345345345\" then toast(\"当前用户未授权...\"); --提示当前用户未授权os.exit(); --停止并退出脚本endtoast(\"用户已通过授权认证...\"); --执行到了这里表示当前设备信息串与指定串相等,可以42.获取AndroidID获取当前设备的AndroidID原型getAndroidID()参数无返回值返回值1:当前设备的AndroidID,字符串类型示例--获取当前设备的设备信息串与指定的串\"23f23bjsadf3434\"比较,如果不相等,则提示未授权,然后退出脚本if getDeviceInfo() ~= \"23f23bjsadf3434\" then toast(\"当前用户未授权...\"); --提示当前用户未授权os.exit(); --停止并退出脚本endtoast(\"用户已通过授权认证...\"); --执行到了这里表示当前设备AndroidID串与指定串相等,可以继续往后执行脚本43.随机触摸点击触摸点击的扩展函数,点击的坐标在一个范围内随机,可以防止某些游戏对重复有规律的动作检测原型touchClickRandom(x,y,r,id)参数参数1:必填,x坐标,数字类型参数2:必填,y坐标,数字类型参数3:必填,随机因子,数字类型,例:随机因子5,则点击的x和y会自动加上-5到5之间的一个随机数参数4:选填,手指ID返回值返回值1:实际点击的x坐标返回值2:实际点击的y坐标返回值3:产生的随机数示例--以随机因子5随机点击坐标(83,156),实际点击的坐标保存在x,y中,随机数保存在n中,这三个返回值可以忽略local x,y,n = touchClickRandom(83,156,5);toast(string.format(\"实际点击了(%d,%d),产生的随机数为:%d\44.随机触摸按下触摸按下的扩展函数,按下的坐标在一个范围内随机,可以防止某些游戏对重复有规律的动作检测原型touchDownRandom(x,y,r,id)参数参数1:必填,x坐标,数字类型参数2:必填,y坐标,数字类型参数3:必填,随机因子,数字类型,例:随机因子5,则按下的x和y会自动加上-5到5之间的一个随机数参数4:选填,手指ID返回值返回值1:实际按下的x坐标返回值2:实际按下的y坐标返回值3:产生的随机数示例--以随机因子5随机按下坐标(83,156),实际按下的坐标保存在x,y中,随机数保存在n中,这三个返回值可以忽略local x,y,n = touchDownRandom(83,156,5);toast(string.format(\"实际按下了(%d,%d),产生的随机数为:%d\45.随机触摸滑动触摸滑动的扩展函数,滑动的坐标在一个范围内随机,可以防止某些游戏对重复有规律的动作检测原型touchDownRandom(x,y,r,id)参数参数1:必填,x坐标,数字类型参数2:必填,y坐标,数字类型参数3:必填,随机因子,数字类型,例:随机因子5,则滑动到的的x和y会自动加上-5到5之间的一个随机数参数4:选填,手指ID返回值返回值1:实际滑动到的的x坐标返回值2:实际滑动到的y坐标返回值3:产生的随机数示例--以随机因子5随机滑动到坐标(83,156),实际滑动到的坐标保存在x,y中,随机数保存在n中,这三个返回值可以忽略local x,y,n = touchMoveRandom(83,156,5);toast(string.format(\"实际滑动到了(%d,%d),产生的随机数为:%d\46.http访问可以访问一个网址,抓取网页内容,获取远程服务器数据,提交本地数据等。可用于服务器验证,用户授权,远程代码等。原型httpGet(url)参数参数1:必填,要访问的URL,字符串类型返回值返回值1:访问网址所返回的内容,字符串类型示例--访问网址“http://scriptelf.duapp.com/test.txt”,获取内容并显示出来,该网址用浏览器打开看到内容与用httpGet访问获取到的内容是一致的local content = httpGet(\"http://scriptelf.duapp.com/test.txt\");toast(content);47.强制设置兼容模式兼容模式相关强制将当前脚本指定为兼容模式,只对当前脚本有效。原型setCompatMode(b)参数参数1:必填,布尔类型。true表示强制设为兼容模式,false表示取消强制设置的兼容模式(不影响用户自己的设置)返回值无示例--强制指定当前脚本为兼容模式,兼容模式下有一些特定的函数。根据脚本的实际情况,有时候使用兼容模式找图找色效率更高setCompatMode(true)48.判断当前模式判断当前是否为兼容模式。(包括用户设置的或者脚本通过setCompatMode()函数强制设置的)原型isCompatMode()参数无返回值无示例--兼容模式与优化模式的截图和色彩有时候会有差别,用isCompatMode()函数可以根据当前模式来选择要比对的图片或者颜色--自定一个点击图片函数,根据当前模式和分辨率自动匹配要寻找的图片,准备好对应路径的图片后,调用时只需要传入图片名称就可以自动匹配适合当前手机或者平板的图片了function myClickImage(img) w,h = getResolutionRatio(); if isCompatMode()then path = \"兼容模式/\"..w..\"x\"..h..\"/\"; else path = \"优化模式/\"..w..\"x\"..h..\"/\"; end path= path..img..\".bmp\"; return clickImage(path);end--调用,如果当前分辨率为480x8,模式为优化模式,则该函数会点击图片\"优化模式/480x584/开始.bmp\"myClickImage(\"开始\");49.设置自定义截屏即设置是否自动获取屏幕比对数据,值在兼容模式下有效。在兼容模式下,寻图找色时需要大量拷贝内存,这样速度会很慢。实际情况下,比对图片或者找色不需要每次都重新截取屏幕数据,该函数设置为false后,所有的寻图找色函数都不再自动截屏,需要更新屏幕比对数据,调用screencap()函数即可原型setAutoScreencap(b)参数无返回值参数1:必填,布尔类型。true表示自动截屏,false表示不自动截屏示例--该函数需要与screencap()函数配合使用,示例在screencap()函数中给出。50.截取屏幕截取屏幕截取当前屏幕更新到比对缓冲区。该函数只有在兼容模式下,setAutoScreencap(false)时才有效。原型:screencap()参数无返回值无示例--screencap()和setAutoScreencap函数只有在兼容模式下有效,但是在优化模式下调用也不会有问题,因此这两个函数可以兼容这两种模式。--当有连续的颜色比对或者图片比对,他们之间又没有流程顺序关系的话,可以将他们放在一屏上比对,可以避免每个比对都要重新截屏setAutoScreencap(false); --设置当前为非自动截屏模式while true do screencap()--每循环一次更新一次比对缓冲区 if isColor(10,10,0xFF0000) and isColor(40,60,0xABA342)then touchClick(40,60); end clickImage(\"截图/1.bmp\"); clickImage(\"截图/2.bmp\");clickImage(\"截图/3.bmp\"); clickImage(\"截图/4.bmp\"); clickImage(\"截图/5.bmp\");clickImage(\"截图/6.bmp\"); clickImage(\"截图/7.bmp\"); clickImage(\"截图/8.bmp\");clickImage(\"截图/9.bmp\"); clickImage(\"截图/10.bmp\");end--在兼容模式下,以上代码每次循环只需要截取1次屏幕。如果没有设置setAutoScreencap(false)和调用screencap(),--则每循环一次要截屏12次(找色、点击图片),而截屏是非常耗时间的。使用这两个函数,这段代码的速度相当于快了12倍。其它函触摸精灵础函数表发送手指按下事件原型:touchDown()参数参数1:手指ID, 范围0~128, 用于标识一个手指,在后续的touchMove()和touchUp()中需要使用(number)参数2:X坐标 (number)参数3:Y坐标 (number)返回值无示例touchDown(0, 100, 100); -- ID为0的手指在坐标为(100, 100)的点按下touchUp(0); -- ID为0的手指抬起发送手指抬起事件原型:touchUp()参数参数1:touchDown()时传入的手指ID(number)返回值无示例touchDown(0, 100, 100); -- ID为0的手指在坐标为(100, 100)的点按下touchUp(0); -- ID为0的手指抬起发送手指移动事件原型:touchMove()参数参数1:touchDown()时传入的手指ID(number)参数2:X坐标 (number)参数3:Y坐标 (number)返回值无示例touchDown(0, 100, 100); -- ID为0的手指在坐标为(100, 100)的点按下touchMove(0, 200, 100); -- ID为0的手指滑动到坐标为(200, 100)的点touchUp(0); -- ID为0的手指抬起获取指定像素的颜色原型:getColor()参数参数1:X坐标 (number)参数2:Y坐标 (number)返回值返回1:色彩位数(number)示例c = getColor(100, 100); -- 将坐标为(100,100)的点的颜色保存在变量c中if c == 0x0000ff then -- 如果该点颜色为0x0000ff(纯蓝色) touchDown(0, 100, 100); -- 那么点击该坐标 touchUp(0);end全屏找色原型:findColor()参数参数1:要找的颜色(number)返回值返回1:X坐标,如果没找到返回-1(number)返回2:Y坐标,如果没找到返回-1(number)示例x, y = findColor(0x0000ff); -- 在全屏范围找到第一个颜色为0x0000ff的点,将其坐标保存到变量x和y中if x ~= -1 and y ~= -1 then -- 如果找到了 touchDown(0, x, y); -- 点击那个点 touchUp(0);endfindColorInRegion()区域找色参数参数1:要找的颜色 (number)参数2:区域左上角X坐标(number)参数3:区域左上角Y坐标(number)参数4:区域右下角X坐标(number)参数5:区域右下角Y坐标(number)返回值返回1:X坐标,如果没找到返回-1(number)返回2:Y坐标,如果没找到返回-1(number)示例x, y = findColorInRegion(0x0000ff, 100, 100, 200, 200); -- 在区域[(100,100)(200,200)]范围找到第一个颜色为0x0000ff的点,将其坐标保存到变量x和y中if x ~= -1 and y ~= -1 then -- 如果找到了 touchDown(0, x, y); -- 点击那个点 touchUp(0);end全屏模糊找色原型:findColorFuzzy()参数参数1:要找的颜色(number)参数2:精确度 (number)返回值返回1:X坐标,如果没找到返回-1(number)返回2:Y坐标,如果没找到返回-1(number)示例x, y = findColorFuzzy(0x0000ff, 90); -- 在全屏范围找到第一个颜色为0x0000ff的点,精确度为90%,将其坐标保存到变量x和y中if x ~= -1 and y ~= -1 then -- 如果找到了 touchDown(0, x, y); -- 点击那个点 touchUp(0);end区域模糊找色原型:findColorInRegionFuzzy()参数参数1:要找的颜色 (number)参数2:精确度 (number)参数3:区域左上角X坐标(number)参数4:区域左上角Y坐标(number)参数5:区域右下角X坐标(number)参数6:区域右下角Y坐标(number)返回值返回1:X坐标,如果没找到返回-1(number)返回2:Y坐标,如果没找到返回-1(number)示例x, y = findColorInRegionFuzzy(0x0000ff, 90, 100, 100, 200, 200); -- 在区域[(100,100)(200,200)]范围找到第一个颜色为0x0000ff的点,精确度为90%,将其坐标保存到变量x和y中if x ~= -1 and y ~= -1 then -- 如果找到了 touchDown(0, x, y); -- 点击那个点 touchUp(0);end获取指定像素颜色的R、G、B三个值原型:getColorRGB()参数参数1:X坐标 (number)参数2:Y坐标 (number)返回值返回1:R(number)返回2:G(number)返回3:B(number)示例r, g, b = getColorRGB(100, 100); -- 将坐标为(100,100)的点的颜色的R、G、B分别保存在变量r、g、b中if r == 0x00 and b == 0x00 and g == 0xff then -- 如果该点颜色为0x0000ff(纯蓝色) touchDown(0, 100, 100); -- 那么点击该坐标 touchUp(0);end全屏找图原型:findImage()参数参数1:要找的图片的路径,只支持BMP格式(string)参数2:(可选)指定图片中透明颜色(number)返回值返回1:X坐标,如果没找到返回-1(number)返回2:Y坐标,如果没找到返回-1(number)示例x, y = findImage(\"/mnt/sdcard/a.bmp\"); -- 在全屏范围找到第一个路径为\"/mnt/sdcar/a.bmp\"的图片,将其左上角坐标保存到变量x和y中if x ~= -1 and y ~= -1 then -- 如果找到了 touchDown(0, x, y); -- 点击那个点 touchUp(0);endx, y = findImage(\"/mnt/sdcard/a.bmp\\"/mnt/sdcar/a.bmp\"的图片,忽略图片中颜色为0xffffff(黑色)的点,将其左上角坐标保存到变量x和y中if x ~= -1 and y ~= -1 then -- 如果找到了 touchDown(0, x, y); -- 点击那个点 touchUp(0);end区域找图原型:findImageInRegion()参数参数1:要找的图片的路径,只支持BMP格式(string)参数2:区域左上角X坐标(number)参数3:区域左上角Y坐标(number)参数4:区域右下角X坐标(number)参数5:区域右下角Y坐标(number)参数6:(可选)指定图片中透明颜色(number)返回值返回1:X坐标,如果没找到返回-1(number)返回2:Y坐标,如果没找到返回-1(number)示例x, y = findImageInRegion(\"/mnt/sdcard/a.bmp\[(100,100)(200,200)]范围找到第一个路径为\"/mnt/sdcar/a.bmp\"的图片,将其左上角坐标保存到变量x和y中if x ~= -1 and y ~= -1 then -- 如果找到了 touchDown(0, x, y); -- 点击那个点 touchUp(0);endx, y = findImageInRegion(\"/mnt/sdcard/a.bmp\[(100,100)(200,200)]范围找到第一个路径为\"/mnt/sdcar/a.bmp\"的图片,忽略图片中颜色为0xffffff(黑色)的点,将其左上角坐标保存到变量x和y中if x ~= -1 and y ~= -1 then -- 如果找到了 touchDown(0, x, y); -- 点击那个点 touchUp(0);endfindImageFuzzy()全屏模糊找图参数参数1:要找的图片的路径,只支持BMP格式(string)参数2:精确度 (number)参数3:(可选)指定图片中透明颜色(number)返回值返回1:X坐标,如果没找到返回-1(number)返回2:Y坐标,如果没找到返回-1(number)示例x, y = findImageFuzzy(\"/mnt/sdcard/a.bmp\\"/mnt/sdcar/a.bmp\"的图片,精确度为90,将其左上角坐标保存到变量x和y中if x ~= -1 and y ~= -1 then -- 如果找到了 touchDown(0, x, y); -- 点击那个点 touchUp(0);endx, y = findImageFuzzy(\"/mnt/sdcard/a.bmp\\"/mnt/sdcar/a.bmp\"的图片,精确度为90,忽略图片中颜色为0xffffff(黑色)的点,将其左上角坐标保存到变量x和y中if x ~= -1 and y ~= -1 then -- 如果找到了 touchDown(0, x, y); -- 点击那个点 touchUp(0);end区域模糊找图原型:findImageInRegionFuzzy()参数参数1:要找的图片的路径,只支持BMP格式(string)参数2:精确度 (number)参数3:区域左上角X坐标(number)参数4:区域左上角Y坐标(number)参数5:区域右下角X坐标(number)参数6:区域右下角Y坐标(number)参数7:(可选)指定图片中透明颜色(number)返回值返回1:X坐标,如果没找到返回-1(number)返回2:Y坐标,如果没找到返回-1(number)示例x, y = findImageInRegionFuzzy(\"/mnt/sdcard/a.bmp\[(100,100)(200,200)]范围找到第一个路径为\"/mnt/sdcar/a.bmp\"的图片,精确度为90,将其左上角坐标保存到变量x和y中if x ~= -1 and y ~= -1 then -- 如果找到了 touchDown(0, x, y); -- 点击那个点 touchUp(0);endx, y = findImageInRegionFuzzy(\"/mnt/sdcard/a.bmp\区域[(100,100)(200,200)]范围找到第一个路径为\"/mnt/sdcar/a.bmp\"的图片,精确度为90,忽略图片中颜色为0xffffff(黑色)的点,将其左上角坐标保存到变量x和y中if x ~= -1 and y ~= -1 then -- 如果找到了 touchDown(0, x, y); -- 点击那个点 touchUp(0);end进行毫秒级别延迟。原型:mSleep()参数参数1:毫秒数(number)返回值无示例mSleep(1000); -- 延迟1秒获取当前屏幕分辨率。原型:getScreenResolution()参数无返回值返回1:宽度(number)返回2:高度(number)示例w, h = getScreenResolution(); -- 将屏幕宽度和高度分别保存在变量w、h中notifyMessage(string.format(\"%d,%d\\n\获取当前屏幕色彩位数原型:getScreenColorBits()参数无返回值返回1:色彩位数(number)示例c = getScreenColorBits(); -- 将屏幕色彩位数保存在变量c中notifyMessage(string.format(\"%d\\n\以文字提示框的方式通知用户原型:notifyMessage()参数参数1:提示文字(string)返回值无示例notifyMessage(\"hello\"); -- 在屏幕上显示\"hello\"以震动方式通知用户原型:notifyVibrate()参数参数1:毫秒数(number)返回值无示例notifyVibrate(1000); -- 让设备震动1秒高级函数式相关函数全屏截图。原型:snapshotScreen()参数参数1:保存截图的路径(string)返回值无示例snapshotScreen(\"/mnt/sdcard/a.bmp\"); -- 将全屏截图保存到路径为\"/mnt/sdcard/a.bmp\"的图片中snapshotRegion()区域截图参数参数1:保存截图的路径(string)参数2:区域左上角X坐标(number)参数3:区域左上角Y坐标(number)参数4:区域右下角X坐标(number)参数5:区域右下角Y坐标(number)返回值无示例snapshotRegion(\"/mnt/sdcard/a.bmp\截图保存到路径为/mnt/sdcard/a.bmp的图片中它函数rotateScreen()旋转屏幕的坐标体系, 后续的找图、找色、截图、触摸动作都会使用新的坐标体系。参数0: 保持原本的坐标体系。对于IOS设备来说,此时HOME键在下方时的屏幕左上角为原点。90: 坐标系统向右转90度。对于IOS设备来说,此时HOME键在右方时的屏幕左上角为原点-90: 坐标系统向左转90度。对于IOS设备来说,此时HOME键在左方时的屏幕左上角为原点180: 坐标系统倒立。对于IOS设备来说,此时HOME键在下方时的屏幕左上角为原点返回值无示例rotateScreen(90); -- 旋转坐标体系向右90度,大多数横屏游戏使用此坐标体系.touchDown(0, 100, 100); -- 发送触摸动作,此时点击的点使用新的坐标体系.touchUp(0);logDebug()输出调试信息到系统日志参数参数1:调试信息(string)返回值无示例logDebug(\"hello\"); -- 输出\"hello\"到系统日志notifyVoice()以播放音频的方式通知用户参数参数1:音频路径(string)返回值无示例notifyVoice(\"/mnt/sdcard/a.mp3\"); -- 播放路径为\"/mnt/sdcard/a.mp3\"的音频keepScreen()开启/关闭屏幕保持。当开启屏幕保持时,后续的找图、找色等函数不会重新获取屏幕图像,而是使用开启屏幕保持之前的屏幕图像;当关闭屏幕保持时,后续的找图、找色等函数会每次都重新获取屏幕图像。适当使用此函数可以优化脚本运行效率参数参数1:是否启用屏幕保持(boolean)返回值无示例keepScreen(true); -- 开启屏幕保持if getColor(100, 100) == 0x000000 or getColor(200, 200) == 0x000000 then -- 进行2次取色,由于启用了屏幕保持,这2次取色不会重新获取2次屏幕图像,这样可以提高性能 notifyMessage(\"yes\"); -- 如果(100,100)和(200,200)坐标有一个颜色为黑色,输出\"yes\"else -- 否则 notifyMessage(\"no\"); -- 输出\"no\"endgetDeviceID()获取设备串号参数无返回值设备串号示例deviceID = getDeviceID(); -- 将设备ID保存到deviceID变量中getNetTime()获取网络时间参数无返回值网络时间, 该时间与lua的os.time()函数一样,返回的是UTC时间1970年1月1日0时0分0秒到现在流逝的秒数,可以配合os.date()转换成方便阅读的格式。返回-1表示不能连接网络时间服务器示例time = getNetTime();if time ~= -1 then tt = os.date(\"*t\ if tt.year > 2014 and tt.month > 2 and tt.day > 15 and tt.hour > 12 and tt.sec >30 then notifyMessage(\"当前时间超过了2013年2月15日12点30分\"); endelse notifyMessage(\"请连接网络\");

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务