明日复明日,明日何其多。
我生待明日,万事成蹉跎。

解放双手,就用AutoTouch 使用帮助

1. 概述
2. 用法
2.1. 怎样安装?
2.2. 怎样录制?
2.3. 怎样播放?
2.4. 怎样写一个脚本?
2.5. 怎样加密脚本?
2.6. 怎样从电脑上传脚本?
2.7. 怎样购买授权?
2.8. 怎样从商店中下载和购买脚本?
2.9. 怎样将您的脚本发布在商店中?
3. 脚本
3.1. 基础
3.2. 扩展函数
3.2.1. touchDown
3.2.2. touchMove
3.2.3. touchUp
3.2.4. tap
3.2.5. homeButtonDown
3.2.6. homeButtonUp
3.2.7. rootDir
3.2.8. usleep
3.2.9. log
3.2.10. alert
3.2.11. vibrate
3.2.12. screenshot
3.2.13. screenshotRegion
3.2.14. getScreenResolution
3.2.15. getScreenSize
3.2.16. getColor
3.2.17. findColor
3.2.18. findColorTap
3.2.19. findImage
3.2.20. findImageTap
3.2.21. appRun
3.2.22. appKill
3.2.23. appIsActive

1. 概述

AutoTouch用来录制和回放您在移动设备上的各种触摸和点击操作,它还可以运行事先用Lua语言写好的脚本,通过模拟人的触摸操作,来实现更多意想不到的功能。您可以用它自动玩游戏打怪赚取金币、批量编辑照片、进行程序自动化测试或者自动登入邮箱等等。

现在AutoTouch已经具备了录制和回放大多数人类操作的能力,比如触摸,点击Home实体键,点击音量实体键,点击声音开关实体键、锁屏实体键等等。并且达到了精确和顺滑的效果。它还提供了诸如截屏、区域截屏、颜色查找、颜色匹配、图片匹配等一些列扩展函数,具备了更大可挖掘的潜力。结合这些奇异的能力,能限制您的只有想象力了。

2.用法

2.1. 怎样安装?

1.确保您已经添加了BigBoss源到Cydia中;
2.在Cydia中搜索“AutoTouch”,找到并安装;
3.如果之前未安装过“Activator”插件,则安装AutoTouch时会自动安装此插件,该插件用于手势控制。请勿卸载它,否则AutoTouch会被一并卸载。


2.2. 怎样录制?

1.在任何您想开始录制的界面,长按音量减键(或您设置的其它Activator控制动作),来弹出控制面板,控制面板上包含一个录制按钮和一个脚本列表;
2.点击控制面板上的“录制”按钮,它将震动提示并开始录制;
3.接下来就请做您想做的触摸或其它操作了,比如打怪等;
4.当您想要停止录制时,长按音量减键(或前述的其它控制动作),直到弹出提示框显示“录制结束”,它会震动提示并停止;
5.接下来您就可以到AutoTouch中查看、管理或者播放刚才录制的脚本了。脚本默认用创建时间作为名称,你可修改为更友好的名称.


2.3. 怎样播放?

1.在您希望开始播放的界面,长按音量减键(或您设置的其它控制动作)来调出控制面板;
2.在控制面板上点击选择您想播放的脚本;
3.通常接下来(除非您曾将此脚本设置为直接播放)会弹出播放设置对话框以询问循环播放次数、间隔和速度;
4.点击“立即运行”后它将依据您刚才的设置立即进行播放,此时会有震动提示开始。播放完成后会自动停止并弹出对话框提示结束(您可在设置中关闭对话框提示)。您还可通过长按音量件键(或前述其它动作)来中断播放;
5.如果您点击了“稍后运行”,它将进入“准备运行”的状态,在此状态中,可通过点击(不是长按,不可修改)音量减键来重复多次地启动或中断播放,且不会有任何询问对话框再来打断您。再次长按(或前述其它动作)来退出“准备播放”状态;
6.您可在“播放设置”界面将脚本设为“直接播放”并为其设置默认的播放设置,这样当选择此脚本时将直接据此设置进行播放,不会再弹出播放设置对话框进行询问.


2.4. 怎样写一个脚本?

1.点击工具栏中间的“Action”按钮,选择“新建文件”即可打开脚本新建窗口;
2.在脚本编辑界面编写代码;
3.然后点击“保存”按钮并输入名称进行保存.


2.5. 怎样加密脚本?

1.在AutoTouch点击脚本,选择“加密”;
2.输入加密密码,无需密码留空即可;
3.点击确定即可完成加密,并生成一个同名但.lua.e结尾的加密文件.
4.可以选择加密脚本进行播放,设有密码的根据提示输入密码即可.


2.6. 怎样从电脑上传脚本?

确保WIFI打开并与电脑处于同一局域网内,点击工具栏中间的“Action”按钮,然后选择“上传”来打开上传界面,如启动成功,界面上会显示连接地址;
从电脑上用浏览器访问上一步得到的连接地址,即可在打开的界面进行上传.


2.7. 怎样购买授权?

点击“设置”界面的“授权”按钮来打开授权信息界面;
当打开授权信息界面时会进行授权验证;
如果授权验证失败,会显示支付按钮;
点击支付按钮会跳转到浏览器窗口并打开支付页面,请在那里完成支付。用支付宝支付的用户请务必在支付页面的“付款说明”中粘贴设备序列号;
当支付完成后,请在“设置”界面点击“授权”来验证;
当授权被验证后,您将获得无限播放时间和全部功能.


2.8. 怎样从商店中下载和购买脚本?

您可以直接从商店中下载所有的脚本;
有些脚本是经过密码加密的,你需要跟作者联系来购买密码;
脚本下载后会存放在你的脚本列表中,您可以像使用其它脚本一样直接使用.


2.9. 怎样将您的脚本发布在商店中?

您可以将脚本发布在商店中,以分享或销售给其他人;
如果只想分享脚本,可以直接上传.lua文件,如果不希望他人看到内容,可以进行无密码加密;
如果想在商店中出售脚本,可以将脚本进行加密,并设置密码。这样需要的人会联系您购买密码.


3. 脚本

3.1. 基础

您可以从这里学习Lua语言的使用:Lua Official Reference Manual.


3.2. 扩展函数

扩展函数用于扩展Lua语言,使具备模拟人类操作手机的一些能力。还提供截屏、颜色查找、颜色匹配、图片匹配等能力。


3.2.1. touchDown(id, x, y)

在屏幕的(x, y)坐标按下.

参数
id: 手指的编号,默认为0即可.
x: 屏幕x坐标.
y: 屏幕y坐标.
返回值

示例
touchDown(0, 100, 200); — 在坐标(100, 200)处按下.


3.2.2. touchMove(id, x, y)

移动手指到(x, y)坐标.

参数
id: 手指的编号,默认为0即可.
x: 屏幕x坐标.
y: 屏幕y坐标.
返回值

示例
touchDown(0, 100, 200); — 在坐标(100, 200)处按下.
touchMove(0, 200, 200); — 移动手指到坐标(200, 200)处.


3.2.3. touchUp(id, x, y)

从(x, y)坐标抬起按下的手指.

参数
id: 手指的编号,默认为0即可.
x: 屏幕x坐标.
y: 屏幕y坐标.
返回值

示例
touchDown(0, 100, 200); — 在坐标(100, 200)处按下.
touchMove(0, 200, 200); — 移动手指到坐标(200, 200)处.
touchUp(0, 200, 200); — 在坐标(200, 200)处抬起按下的手指.


3.2.4. tap(x, y)

点击坐标点(x, y).

参数
x: 屏幕x坐标.
y: 屏幕y坐标.
返回值

示例
tap(100, 200); — 点击坐标点(100, 200).


3.2.5. homeButtonDown()

按下Home实体键.

参数

返回值

示例
homeButtonDown();
— 按下Home键.


3.2.6. homeButtonUp()

抬起按下的Home键.

参数

返回值

示例
homeButtonUp();
— 抬起按下的Home键.


3.2.7. rootDir()

获得脚本存放的默认地址.

参数

返回值
脚本存放的默认地址.
示例
local dirPath = rootDir();
— dirPath = “/var/mobile/Library/AutoTouch/Scripts/”


3.2.8. usleep(microseconds)

停顿若干个微秒,即1/1000000秒.

参数
microseconds: 停顿多少微秒.
返回值

示例
usleep(1000000);
— 停顿1秒


3.2.9. log(logContent)

记录日志,可在日志界面查看。

参数
logContent: 需要记录的日志内容.
返回值

示例
log(“play here…”);


3.2.10. alert(message)

弹出对话框显示指定内容.

参数
message: 需要显示的内容.
返回值

示例
alert(“Hello world!”);


3.2.11. vibrate()

震动一次.

参数

返回值

示例
vibrate(); — 震动一次.


3.2.12. screenshot(filePath)

获取当前截屏并存在指定地址.

参数
filePath: 截屏要存放的地址
返回值

示例
screenshot(“/var/screenshot1.png”);


3.2.13. screenshotRegion(filePath, x, y, width, height)

获取指定区域的截屏,并存放在指定地址.

参数
filePath: 截屏要存放的地址
x: 截屏区域左上角x坐标.
y: 截屏区域左上角y坐标.
width: 截屏区域的宽度.
height: 解聘区域的高度.
返回值

示例
screenshotRegion(“/var/screenshot2.png”, 0, 0, 100, 100);
— 对(0, 0, 100, 100)区域进行截屏并存放在指定地址.


3.2.14. getScreenResolution()

获取屏幕分辨率.

参数

返回值
width: 屏幕分辨率宽度.
height: 屏幕分辨率高度.
示例
local w, h = getScreenResolution();
— 分辨率宽度是1136, 分辨率高度是640.


3.2.15. getScreenSize()

获取屏幕大小,这里是苹果坐标系的大小。视网膜屏就是分辨率除以二的值.

参数

返回值
width: 屏幕宽度.
height: 屏幕高度.
示例
local width, height = getScreenSize();
— iPhone 5:宽是320, 高是568


3.2.16. getColor(x, y)

在当前屏幕获取指定坐标位置的颜色值.

参数
x: iOS坐标系中指定点的x坐标.
y: iOS坐标系中指定点的y坐标.
返回值
rgb: 指定坐标点的rgb颜色值.
示例
local rgb = getColor(100, 200);
alert(“rgb:” .. rgb);
— rgb:16777215


3.2.17. findColor(rgb, count)

在当前屏幕获取所有匹配指定颜色的坐标点. 注意: 您应当这样使用find(0x0000ff, 5), 而非这样:find(rgb=0x0000ff, count=5), 这与findImage函数不同, 因为findImage的参数整体是一个table.

参数
rgb: int类型的rgb值. (必需)
count: 最多查找多少个点,默认是0,表示查找所有匹配点。如果是1,表示查出第一个即可,若是2表示查出前两个即可。查找的个数越少速度会越快. (可选).
返回值
locations: 找到的点的坐标。比如:{{x1, y1}, {x2, y2}, …}.
示例
local result = findColor(0x0000ff, 2);
for i, v in pairs(result) do
log(“x:” .. v[1] .. “y:” .. v[2]);
end


3.2.18. findColorTap(rgb, count)

该函数与findColor基本相同,区别在于findColorTap找到那些点并依次间隔0.016秒进行点击,并且不返回任何值.

参数
rgb: int类型的rgb值. (必需)
count: 最多查找多少个点,默认是0,表示查找所有匹配点。如果是1,表示查出第一个即可,若是2表示查出前两个即可。查找的个数越少速度会越快. (可选).
返回值

示例
findColorTap(0x0000ff, 2); — 找到颜色为0x0000ff的前两个坐标点并依次间隔0.016秒点击它们.


3.2.19. findImage {imagePath, count, fuzzy, ignoreColors}

在当前屏幕查找匹配指定图片的区域,以table形式返回找到的所有区域的左上角坐标.

参数
imagePath: 需要查找的图片的路径. (必需)
count: 最多查找多少个区域,默认是0,表示查找所有匹配区域。如果是1,表示查出第一个即可,若是2表示查出前两个即可。查找的个数越少速度会越快. (可选).
fuzzy: 查找的模糊度,默认是1,表示完全匹配,0.5表示匹配50%的像素点即可. (可选)
ignoreColors: 在查找中需要无视的颜色值,以数组形式提供(table in lua). (可选).
返回值
locations: 匹配区域左上角坐标的数组. 比如: {{x1, y1}, {x2, y2}, …}.
示例
— 示例 1:
local result = findImage {imagePath=”/var/spirit.png”, count=5};
for i, v in pairs(result) do
log(“x:” .. v[1] .. “y:” .. v[2]);
end

— 示例 2:
local result = findImage {imagePath=”/var/spirit.png”, fuzzy=0.6};
for i, v in pairs(result) do
log(“x:” .. v[1] .. “y:” .. v[2]);
end

— 示例 3:
local result = findImage {imagePath=”/var/spirit.png”, ignoreColors={0xffffff, 0x2b2b2b}};
for i, v in pairs(result) do
log(“x:” .. v[1] .. “y:” .. v[2]);
end

— 示例 4:
local result = findImage {imagePath=”/var/spirit.png”, count=1, fuzzy=0.9, ignoreColors={0x0000ff}};
for i, v in pairs(result) do
log(“x:” .. v[1] .. “y:” .. v[2]);
end


3.2.20. findImageTap {imagePath, count, fuzzy, ignoreColors}

该函数与findImage基本相同,区别在于findImageTap找到那些区域并依次间隔0.016秒进行点击,并且不返回任何值.

参数
imagePath: 需要查找的图片的路径. (必需)
count: 最多查找多少个区域,默认是0,表示查找所有匹配区域。如果是1,表示查出第一个即可,若是2表示查出前两个即可。查找的个数越少速度会越快. (可选).
fuzzy: 查找的模糊度,默认是1,表示完全匹配,0.5表示匹配50%的像素点即可. (可选)
ignoreColors: 在查找中需要无视的颜色值,以数组形式提供(table in lua). (可选).
返回值

示例
— 示例 1:
findImageTap {imagePath=”/var/spirit.png”, count=5};

— 示例 2:
findImageTap {imagePath=”/var/spirit.png”, fuzzy=0.6};

— 示例 3:
findImageTap {imagePath=”/var/spirit.png”, ignoreColors={0xffffff, 0x2b2b2b}};

— 示例 4:
findImageTap {imagePath=”/var/spirit.png”, count=1, fuzzy=0.9, ignoreColors={0x0000ff}};


3.2.21. appRun(appIdentifier)

用appIdentifier启动指定应用.

参数
appIdentifier: 应用标识,如”com.apple.mobilesafari”. (必需)
返回值

示例
appRun(“com.apple.mobilesafari”);
— 运行safari


3.2.22. appKill(appIdentifier)

用appIdentifier关闭指定应用.

参数
appIdentifier: 应用标识,如”com.apple.mobilesafari”. (必需)
返回值

示例
appKill(“com.apple.mobilesafari”);
— 关闭运行着的safari


3.2.23. appIsActive(appIdentifier)

检查指定应用是否处于活跃和打开的状态.

参数
appIdentifier: 应用标识,如”com.apple.mobilesafari”. (必需)
返回值
ifAppIsActive: bool类型结果.
示例
b = appIsActive(“com.apple.mobilesafari”);
— 检查App打开状态

赞(0) 打赏
未经允许不得转载:致明日 » 解放双手,就用AutoTouch 使用帮助
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

坚持,总会看见蓝天和白云

联系我们你来了,你就是最棒的!

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏