AutoTouch用来录制和回放您在移动设备上的各种触摸和点击操作,它还可以运行事先用Lua语言写好的脚本,通过模拟人的触摸操作,来实现更多意想不到的功能。您可以用它自动玩游戏打怪赚取金币、批量编辑照片、进行程序自动化测试或者自动登入邮箱等等。
现在AutoTouch已经具备了录制和回放大多数人类操作的能力,比如触摸,点击Home实体键,点击音量实体键,点击声音开关实体键、锁屏实体键等等。并且达到了精确和顺滑的效果。它还提供了诸如截屏、区域截屏、颜色查找、颜色匹配、图片匹配等一些列扩展函数,具备了更大可挖掘的潜力。结合这些奇异的能力,能限制您的只有想象力了。
您可以从这里学习Lua语言的使用:Lua Official Reference Manual.
扩展函数用于扩展Lua语言,使具备模拟人类操作手机的一些能力。还提供截屏、颜色查找、颜色匹配、图片匹配等能力。
在屏幕的(x, y)坐标按下.
touchDown(0, 100, 200); -- 在坐标(100, 200)处按下.
移动手指到(x, y)坐标.
touchDown(0, 100, 200); -- 在坐标(100, 200)处按下. touchMove(0, 200, 200); -- 移动手指到坐标(200, 200)处.
从(x, y)坐标抬起按下的手指.
touchDown(0, 100, 200); -- 在坐标(100, 200)处按下. touchMove(0, 200, 200); -- 移动手指到坐标(200, 200)处. touchUp(0, 200, 200); -- 在坐标(200, 200)处抬起按下的手指.
按下Home实体键.
homeButtonDown(); -- 按下Home键.
抬起按下的Home键.
homeButtonUp(); -- 抬起按下的Home键.
按下锁屏键.
lockButtonDown(); -- 按下锁屏键.
抬起按下的锁屏键.
lockButtonUp(); -- 抬起按下的锁屏键.
关闭声音.
ringerOff(); -- 关闭声音.
打开声音.
ringerOn(); -- 打开声音.
按下音量加键.
volumeUpButtonDown(); -- 按下音量加键.
抬起音量加键.
volumeUpButtonUp(); -- 抬起音量加键.
按下音量减键.
volumeDownButtonDown(); -- 按下音量减键.
抬起音量减键.
volumeDownButtonUp(); -- 抬起音量减键.
获得脚本存放的默认地址.
local dirPath = rootPathOfDocuments(); -- dirPath = "/var/mobile/Library/AutoTouch/Scripts/"
停顿若干个微秒,即1/1000000秒.
usleep(1000000); -- 停顿1秒
记录日志,可在日志界面查看。
logging("play here...");
弹出对话框显示指定内容.
alert("Hello world!");
震动一次.
vibrate(); -- 震动一次.
获取当前截屏并存在指定地址.
screenshot("/var/screenshot1.png");
获取指定区域的截屏,并存放在指定地址.
screenshotRegion("/var/screenshot2.png", 0, 0, 100, 100);
-- 对(0, 0, 100, 100)区域进行截屏并存放在指定地址.
获取屏幕分辨率.
local w, h = getScreenResolution(); -- 分辨率宽度是1136, 分辨率高度是640.
获取屏幕大小,这里是苹果坐标系的大小。视网膜屏就是分辨率除以二的值.
local width, height = getScreenSize(); -- iPhone 5:宽是320, 高是568
在当前屏幕获取指定坐标位置的颜色值.
local rgb = getColor(100, 200);
alert("rgb:" .. rgb);
-- rgb:16777215
在当前屏幕获取所有匹配指定颜色的坐标点. 注意: 您应当这样使用find(0x0000ff, 5), 而非这样:find(rgb=0x0000ff, count=5), 这与findImage函数不同, 因为findImage的参数整体是一个table.
local result = findColor(0x0000ff, 2);
for i, v in pairs(result) do
logging("x:" .. v[1] .. "y:" .. v[2]);
end
在当前屏幕查找匹配指定图片的区域,以table形式返回找到的所有区域的左上角坐标.
-- 示例 1:
local result = findImage {imagePath="/var/spirit.png", count=5};
for i, v in pairs(result) do
logging("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
logging("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
logging("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
logging("x:" .. v[1] .. "y:" .. v[2]);
end