分享

【免root脚本制作教程】自动坐标操作手机(Auto.js使用教程

 袁先森lemon 2020-11-12

        今天给大家介绍如何简单制作一个,自动点击手机指定位置的脚本。

        首先打开Auto.js右下角加号新建一个js文件(javascript语言)。然后在文件第一行输入click(x,y);这就是我们的点击功能。然后把其中x换成你要点的坐标的横坐标,y换成你要点的坐标的纵坐标即可。比如,我要点击坐标x500,y500的地方,那么就输入click(500,500);即可。

click函数使用示例

        关于,如何获得你要点击的点的横坐标与纵坐标,首先打开:手机-设置-开发者选项-指针位置,这时,你手点击在屏幕上时,最上面一排,都会显示出,你点击的位置的坐标。这个坐标是已手机左上角为坐标系原点,一直延伸像右下角,大小等于你手机分辨率的一个坐标系。

        仅仅点击,可能并不能达到大部分所有脚本的需求。在这教大家一个功能sleep(t);这个功能能让脚本从上往下运行到这一步时,暂停一段时间,再继续运行下去。t改成需要暂停运行的毫秒数,1秒=1000毫秒 ,数字是整数,如果你写的不是整数,程序会自动四舍五入凑整。

        比如暂停十分钟,我们可以先算出来,10分钟600秒,就是600 000毫秒,那么程序就是sleep(600000);    当然我们可以不需要自己算出来,直接在括号内写一个算式即可,* 代表×的意思,可以直接写sleep(10*60*1000);这样,程序运行时,会先自动把,括号内的算式算出来,再运行等待。

        教学实例:我们比如想在晚上12点在某QQ群发出签到,却明天有事,必须9点前睡觉。那我们可以写个脚本,等待一段时间后,自动点下,9点距离12点有三个小时那么第一行等待写sleep(3*60*60*1000);然后写点击发送,在小编手机上,发送按钮的坐标在1000,150,所以点击命令为click(1000,150);连起来后,在晚上9点运行,切换到qq签到界面就好啦。

定时点击示例

        学会了这个方法,相信各位,只要能记录好等待时间,做出,自动玩跳舞的线之类的游戏的脚本应该没问题了吧。

        说完了click点击,我们来讲下一个功能press。我们在模拟操作的时候,可能不需要单独一下的点击,而是需要,长按之类的操作,press正是一个能设置点击下去时间长短的按下功能。语法是press(x,y,t);其中前两个和click一样,设置点击坐标,第三个设置点击时常,单位是毫秒,手机内一般认定半秒,即500毫秒的点击,是长按。举个例子,长按屏幕500,500的地方两秒:press(500,500,2000);

        其实看似click是几乎一瞬间完成点击效果,其实是默认了一个点击时长100毫秒,所以如果想做更快的点击操作,可以用press设置点击时长为1毫秒,代替click功能。

        再说一个功能swipe,直线滑动。制作脚本时不免还是必须有滑动功能的。比如趣头条自动放文章,火牛视频翻视频,之类的功能。语法是swipe(x1,x2,y1,y2,t);前两个为,设置滑动开始的点的坐标,第三四个为设置滑动终止的点的坐标,第五个为滑动总消耗的时间长短。举个例子,从屏幕100,300滑动至600,900总耗时花1秒为:swipe(100,300,600,900,1000);

        写个实例,火牛视频,连续三次,每20秒,自动翻一次视频。火牛视频从下往上翻,就差不多从横坐标500的地方,纵坐标从1500滑到1000,耗时半秒差不多就可以了吧。那滑动命令就是swipe(500,1500,500,1000,500);另外等待20秒的命令大家相比都会了吧,直接说sleep(20000);然后这些要运行三遍,那就这两条信息一起复制三份即可,完成内容见下图。

火牛视频翻三次,示例

        以上就是今天基本要讲的内容,其中click,press,swipe是只有安卓7.0及以上才可以使用,现在大部分手机都到了吧..而且需要无障碍服务权限,不然运行会报错:无障碍服务权限未打开。然后程序直接运行结束,为了防止这种事情发生我们可以在代码开头加一行auto.waitFor();这句话的功能是,获取无障碍服务权限,如果已经有了,那就继续运行下面的代码,如果没有,就跳转到给无障碍服务权限的界面,并且等待给了权限,再继续运行下面的代码。在代码之前申请好运行的权限是一个好习惯。

        另外,如果手机没到安卓7.0的朋友们,Auto.js也有方法,就是基于root权限的操作,并且兼容所有安卓版本。点击命令Tap(x,y);用法和click(x,y);完全一样,滑动命令Swipe(x1,x2,y1,y2,t);用法和swipe(x1,x2,y1,y2,t);完全一样,但是基于root权限的操作并没有长按功能,不过各位想一下,如果滑动500毫秒,开始点和结束的点一样,那不就是长按的效果嘛,所以自己可以想想,如何用Swipe代替root权限的长按。

        这期教学就到这里,我们下期再见(づ ●─● )づ

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多