好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

触摸精灵操作手册.doc

42页
  • 卖家[上传人]:第***
  • 文档编号:56097656
  • 上传时间:2018-10-09
  • 文档格式:DOC
  • 文档大小:198KB
  • / 42 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 2 脚本脚本语语言言触摸精灵使用 Lua 语言作为底层脚本语言, 支持 Lua 5.2 版本的所有语法与基本库函数, 并在 Lua 语言的基础上添加了一些扩展函数, 用于发送触摸事件、找图、找色等高级功能的实现触摸精灵的脚本中需要有且只有一个 main 函数,整个脚本是从这个函数开始执行的,示例 -- 脚本入口函数-- 整个脚本从这个函数开始执行-- 此函数在整个脚本中必须有且只有一个 function main()-- 其他代码 end2.1 基本基本语语法法用户可参考 Lua 的官方手册或者其他资料来学习以下基本语法:注释 变量与类型运算符 赋值条件控制 循环控制 函数定义 库函数等等2.2 脚本脚本 UI 界面界面用户可以通过在脚本中定义一个全局变量 UI 来实现定义脚本的配置界面, 该界面会在脚本运行前显示给用户, 用于让用户设置一些脚本的参数, 这些参数的值会赋值给指定的变量, 脚本运行时可以通过访问这些变量来获取用户的配置下面是一个完整的例子: UI = {{ 'TextView{-请如实填写哦-}' },{ 'InputBox{}', 'name', '姓名:' },{ 'DropList{帅哥|美女}', 'sex', '性别:' },{ 'InputBox{18}', 'age', '年龄:' },{ 'DropList{是|否}', 'married', '婚否:' }, };function main()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 = file:read(“*a“); -- 读取全部内容file:close(); -- 关闭文件UI = {{ 'InputBox{' data '}', 'demo', '演示:' }, }function main()notifyMessage(string.format(“%s“, demo));end2.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 中if c == 0x0000ff then -- 如果该点颜色为 0x0000ff(纯蓝色)touchDown(0, 100, 100); -- 那么点击该坐标touchUp(0);endgetColorRGB()函数说明: 获取指定像素颜色的 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 中if r == 0x00 and b == 0x00 and g == 0xff then -- 如果该点颜色为0x0000ff(纯蓝色)touchDown(0, 100, 100); -- 那么点击该坐标touchUp(0);endfindColor()函数说明: 全屏找色参数 参数 1 (数字) : 要找的颜色 返回值 返回值 1 (数字) : X 坐标, 如果没找到返回-1 返回值 1 (数字) : Y 坐标, 如果没找到返回-1示例x, y = findColor(0x0000ff); -- 在全屏范围找到第一个颜色为 0x0000ff 的点, 将其坐标保存到变量 x 和 y 中if x ~= -1 and y ~= -1 then -- 如果找到了touchDown(0, x, y); -- 点击那个点touchUp(0);endfindColorFuzzy()函数说明: 全屏模糊找色参数 参数 1 (数字) : 要找的颜色 参数 2 (数字) : 精确度, 有效范围为 1~100 返回值 返回值 1 (数字) : X 坐标, 如果没找到返回-1 返回值 1 (数字) : Y 坐标, 如果没找到返回-1示例x, y = findColorFuzzy(0x0000ff, 90); -- 在全屏范围找到第一个颜色为0x0000ff 的点, 精确度为 90%, 将其坐标保存到变量 x 和 y 中if x ~= -1 and y ~= -1 then -- 如果找到了touchDown(0, x, y); -- 点击那个点touchUp(0);endfindColorInRegion()函数说明: 区域找色参数 参数 1 (数字) : 要找的颜色 参数 2 (数字) : 区域左上角 X 坐标 参数 3 (数字) : 区域左上角 Y 坐标 参数 4 (数字) : 区域右下角 X 坐标 参数 5 (数字) :。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.