触动精灵脚本开发手册(3)

2019-03-27 21:59

touchDown(index , x , y); touchMove(index , x, y); touchUp(index , x , y); 返回值:无

参数 类型 说明

index number 手指序号(可省略) x number 屏幕横坐标 y number 屏幕纵坐标 脚本实例: 快速划动

touchDown(150, 550); --在坐标 (150, 550)按下 mSleep(30);

touchMove(150, 600); --移动到坐标 (150, 600),注意一次滑动的坐标间隔不要太大,不宜超过50像素 mSleep(30);

touchUp(150, 600); --在坐标 (150, 600) 抬起 连续划动

touchDown(150, 550); --在坐标 (150, 550) 按下

for i = 0, 400, 10 do --使用for循环从起始点连续横向移动到终止点 touchMove(150 + i, 550); mSleep(10); --延迟 end

touchUp(150 + 200, 550); --在坐标 (350, 550) 抬起 多点触控

touchDown(1, 200, 400); --手指 1 在坐标 (200, 400) 按下 touchDown(2, 300, 500); --手指 2 在坐标 (300, 500) 按下 mSleep(50);

for i = 1, 100, 1 do --使用 for 循环使两只手指同时分离

touchMove(1, 200 - i, 400 - i); touchMove(2, 300 + i, 500 + i); mSleep(10); end

touchUp(1, 200 - 100, 400 - 100); --抬起手指1 touchUp(2, 300 + 100, 500 + 100); --抬起手指2 封装一个点击函数

function click(x, y) touchDown(x, y)

mSleep(30) touchUp(x, y) end

click(100, 200) --点击坐标 100,200 位置 方形渐开线

init(1)

mSleep(1000)

local x = 1010 --起始坐标x local y = 698 --起始坐标y local v = 30 --两点间距离 touchDown(x, y) mSleep(100)

for var = 1,20 do j = 0 k = v

for _i = 1,2 do

for i = 1,10 do x = x + j y = y + k

touchMove(x, y) mSleep(20) end j = v k = 0 end

v = v * (-1.05) end

touchUp(x, y) 圆形渐开线

init(1)

mSleep(1000)

local x0 = 1010 --起始坐标x local y0 = 698 --起始坐标y local rr = 20 --设置递增半径 local l = 10 --设置点间距 local p = 0 --初始化角度 local r = 30 --设置首圈半径 local rn = 10 --设置圈数 touchDown(x0, y0) mSleep(100)

for var = 1,rn do

while p < math.pi * 2 do

x = x0 + r * math.cos(p) y = y0 - r * math.sin(p) touchMove(x, y) mSleep(10) p = p + l/r end p = 0

r = r + rr end

touchUp(x0, y0)

安卓点击滑动失效处理方法

在部分安卓应用程序中的HTML5页面中,出现脚本能够点击,但点击没有后续反应的问题。此问题目前可以通过以下写法来解决:

os.execute(\,其中 x y 为坐标值

os.execute(\滑动,x1,y1为滑动初始坐标,x2,y2为滑动结束坐标

如果以上命令还是不生效可以用下面的 API 方法代替 mouse 进行尝试: keyboard joystick

touchnavigation touchpad trackball stylus dpad

touchscreen gamepad

举例: os.execute(\注意事项:

需要注意的是在使用 touchDown、touchMove、touchUp 函数时,中间一定要插入一定的延时,建议大于 20 毫秒,否则可能会出现点击无效等异常情况。 使用滑动函数时,新手常犯的错误就是两点之间滑动距离过大,请注意touchDown、touchMove 的坐标间隔不宜超过 50 像素。 非多点触控可省略手指 id

新手使用点击、随机点击、直线或角度滑动等相关函数请参考函数扩展库 名词解析:

手指序号,用于多点触控的支持。标记多只手指,来分别控制它们的移动。 屏幕坐标,横坐标为 x,纵坐标为 y,单位为像素。例如,iPhone 4 与 iPhone 4S 的屏幕分辨率 为 640 * 960,则其最大横坐标为 640,最大纵坐标为 960。 for 循环是 Lua 基本语法,属于循环控制。 函数:catchTouchPoint 获取用户点击坐标

函数名称:获取用户点击坐标

函数功能:调用该函数后,触动精灵将等待用户完成一次或多次屏幕点击,并返回点击的坐标。 函数方法

x,y = catchTouchPoint(); 返回值:number x,y

ret = catchTouchPoint(touchCount); 返回值:table类型 ret

返回值 类型 说明

x number 用户点击屏幕的横坐标 y number 用户点击屏幕的纵坐标

ret table 当touchCound参数有效时,将返回一个包含所有点击坐标的table

参数 类型 说明

touchCount number 所需获取的 点/坐标 个数(需引擎版本 iOS v2.2.4,Android v1.1.9以上支持) 脚本实例:

dialog(\一秒后接收用户一次点击\mSleep(1000);

x,y = catchTouchPoint();

dialog(\--获取多个点击坐标

dialog(\一秒后接收用户三次点击\mSleep(1000);

local ret = catchTouchPoint(3); for i = 1, #ret do

dialog(\第\次点击的位

置:\end

注意事项:

部分安卓模拟器不支持该函数。

此函数将阻止脚本继续运行, 一直等待用户完成屏幕点击。 此函数获取到的坐标为竖屏坐标,横屏情况请自行转换。 本函数有较小的延迟,连续点击时,请勿点击过快。

在 iOS 引擎版本 v2.2.4 以上中可接收多个点击坐标并以 table 形式返回。 参数 类型 说明

touchCount number 所需获取的 点/坐标 个数(需引擎版本 iOS v2.2.4,Android v1.1.9以上支持) 图色类及屏幕相关

函数:init 初始化

函数名称:初始化

函数功能:脚本运行前必须调用,以设置设备方向及坐标系。 函数方法

init(rotate,bid); 返回值:无

返回值 类型 说明

bid string 选填,目标程序的Bundle ID,填写“0”时自动使用当前运行的应用

Rotate number 必填,屏幕方向,0-竖屏,1-home键在右边,2-home键在左边

安卓设备根据机型初始方向有区别,需要开发者自行调试,0-初始方向,1-初始方向向左旋转90°,2-初始方向向右旋转90°

init.png-90.8kB 脚本实例:

init(0) -- iOS 设备以 Home 键在下方时的屏幕左上角为坐标系原点(0,0),iOS 7 以上系统有效;安卓设备以当前屏幕默认截图方向进行初始化

init(1); --iOS 设备以当前应用 Home 键在右边初始化,即以 Home 键在右侧时的横屏左上角为屏幕坐标原点(0,0);安卓设备以屏幕默认截图方向向左旋转90°进行初始化 注意事项:

安卓系统不同设备初始的截图方向有所不同,编写脚本前请用截图函数确认设备的默认方向。

iOS6 系统如果填写 bid 参数的话,请在使用 runApp 函数之后再使用此函数,才能获取到正确的当前应用坐标系。

此函数可在脚本运行过程中多次调用已改变屏幕方向。

如在脚本中未指定屏幕方向,系统将默认为竖屏或初始方向。 参考资料:

Bundle ID 的获取方法

1. 在触动精灵客户端的 更多 -> 应用ID查询 中能查看到应用程序的 Bundle ID;

2. iOS 使用 iFile、PP助手等软件可查看应用文件夹下的 Info.plist,其中的 CFBundleIdentifier 即为该应用的 Bundle ID。

3. 使用 frontAppBid 函数,前台运行要获取 Bundle ID 的应用,运行此函数并用 diolag、toast、nLog 函数显示返回值。

函数:getDeviceOrient 获取手机、应用屏幕方向(仅支持 iOS)

函数名称:获取手机、应用屏幕方向

函数功能:用于获取当前手机方向和应用方向


触动精灵脚本开发手册(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新闻史 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: