A. 自动玩游戏,手游脚本究竟是怎么做的
手游现在已经成为大家打发碎片化时间的一种很普遍的方式了,而有的人会由于种种愿意不能自己去玩,就希望有什么办法或者工具能帮助我们解决这个问题,不用人收着也能完成任务。
实现原理:
比如一个 游戏 的任务,你需要在不同的手机屏幕上进行一系列点击,滑动,甚至输入文本,发送语音等动作后才能完成,而这一切操作其实就是手机中会记录这些动作的文件,文件存储的是一个又一个的信号量,这些信号然后根据不同厂商的设定反馈给上层,而上层会根据反馈的信息转换成统一识别的事件,事件最后响应给应用,并对信息进行相应的处理,最后呈现给用户并实现它,这一些列的动作都是可以通过一些现有的工具或者说解决方案来帮我们实现自动 游戏 的功能。
一般实现的方式 :
1.通过USB连接电脑,然后通过ADB(一种android的调试工具,当然iOS也有类似的工具一个原理)对手机进行远程的控制;
2.通过在手机中安装一个控制其它app的app来控制,说简单点就是生成一个手机应用,在手机中运行后,直接通过这个应用对其它应用进行操作;
实现方式我们明白了,那么要借助哪些工具或者说哪些解决方案来帮我们进行实现呢。
易语言解决方案:
首先我们来说一说这个被大多数人所知道的,但是又被"正统"程序员所抵触的编程语言。
这是一款运用中文进行编程的语言,可以说它让大多数人摆脱了"英文魔咒",很多人认为学习编程其实就是学英语,或者英语不好没办法学习编程,这其实是错误的理解,这个后话了,等我有空了再为大家分享下如何摆脱这个魔咒。
优势:
1. 中文化编程,中文毕竟是我们的母语,在更加让人容易理解;
2. 在 游戏 相关领域有非常成熟的框架,或者中支持库;
3. 使用这种解决方案的人群非常多,当你遇到问题时很容易找到解决办法;
劣势:
1. 代码的编译速度相对其他语言来说很慢;(对于现在的电脑硬件来说其实已经没啥大碍)
2. 会被其他编程语言鄙视,太local化了,没有那种国际感;
3. 收费;(虽然作者初衷是推广中文编程,但是推广也是要钱的嘛,能理解)
4. 易语言需要进行一定的学习,相对其他几个解决方案来说难度略高;
易语言解决方案总的来说,由于是中文的并且有大量现成知识库做支撑,很容易就能实现功能,所以一直被用来作为中控型的脚本来编写,不大会被用来进行生成app的方式来进行(有app化的解决办法,但是不稳定不讨论)
按键精灵解决方案:
案件精灵可以说是这个领域里, 历史 悠久且非常出色的一位前辈。非常简单就能上手,甚至有通过录像然后转成脚本的录制功能,当然要制作出优秀的脚本也需要进行一定的学习;
优势:
1. 非常简单,容易上手,有非常丰富的快捷方式;
2. 有录制功能,更进一步降低了制作门槛;
3. 历史 悠久人群稳定,所以社区也很稳定,遇到问题很容易找到解决办法(注意我说的是群体,不是按键精灵的论坛。)
4. 按键精灵非常良好的提供了解决方案,即可生成app直接手机中运行,也可以通过安装按键的android版然后传送脚本进行运行。
劣势:
1. 付费,且不便宜;
2. 代码框架实现是基于英文实现;
3. 无法进行分文件管理,就是说所有业务要写进一个文本里,这其实非常不方便管理和维护;
按键精灵解决方案,比较适合对编程没有什么基础的朋友上手。网络上也有非常多的免费教程可以进行学习。
触动精灵解决方案:
触动精灵是近几年新启一个新的平台,是基于lua语言来进行编写开发的,与按键精灵类似,不过相对按键的名声赫赫,就有点显得小很多。
优势:
1. 支持文件化管理开发;(这点其实非常棒,对于后期的代码开发或者维护来说都很棒)
2. 基于lua开发,所以可以完美利用lua的原表特性来进行一些框架搭建,更加适用于负责的点击事件;
3. 拥有一套完善的支持自动化的库,可以直接拿来使用;
4. 支持远程调试,脚本传到手机中运行,也可以生成app进行控制;
劣势:
1. 需要学习lua语言,对小白来说有点不友好;
2. 需要付费,相对按键来说比较便宜;
3. 偏小众,出问题想找解决办法非常难找;
4. 对于android和iOS系统收取不同的费用来打包生成apk;
5. 代码框架也是基于英文进行实现的;
触动精灵的解决方案,好于能利用lua的原表特性来进行自定义框架开发,方便自己的后续的多次开发。网络上也有很多的教程来进行学习,就是遇到问题需要解决的时候,总会找不到办法,这里有点难受。
Auto.js解决方案:
这套方案是借助于android手机的无障碍服务进行实现的,根据控件的id进行一系列的事件响应,精准度更高。
优势:
1. 无需root就可以实现控制手机;
2. 可在手机中运行,也可以打包成apk运行;
3. 通过控件id进行控制,准确度非常高,并且自适应分辨率;
劣势:
1. 对 游戏 不大友好,因为 游戏 很多时候控件都不规则,都是一个个画布;
2. 需要学习js;
3. 基于英文实现的代码框架;
Auto.js这个解决方案,对于 游戏 来说并不大友好,虽然也有找图找色等功能,但是使用起来并没有按键或者触动那么方便,并且由于是基于空间id进行控制,并不大适合 游戏 。
其他解决方案:
其实还有其他非常多的类似的解决方案,但是大多数都没上面列举的这些被人熟知。
举个例子像python也拥有非常丰富的类库,但是只能适应使用usb连接手机的通过adb进行控制这样的操作,无法生成一个apk来安装到手机中进行操作,我也曾尝试过在手机中模拟一个python环境,但是依赖的类库无法非常方便的移植到手机中,就算静态编译过去也非常的耗时,所以python也能实现但是他很不友好,也很不方便,学习成本也非常高。
B. Auto js自动化脚本怎么在电脑上开发
刚开始学习开发脚本,在这里我会记录我学习脚本开发碰到的一些问题。Auto js可以直接在手机上编写脚本,但是这样肯定不顺手,速度奇慢。
还好有vscode这个插件 https://marketplace.visualstudio.com/items?itemName=pz.vscode,下面就手把手教你怎么使用这个插件。
1. 准备工作
- 电脑安装了vscode
- 手机上安装了auto.js
2.安装Auto.js-VSCode-Extension插件
电脑上打开vscode,点击左侧红色方框图标,输入auto.js搜索,找到如图全称Auto.js-VSCode-Ext,点击install安装
3、安装完成后按快捷键ctrl+shif+p 然后输入auto.js:start server打开它
右下角红色地方点开可以看到Auto.js server running表明开启成功
4、手机上的auto.js连接电脑,输入电脑IP地址
提示连接成功就可以了
C. aito.js可以用不是挂
可以用,不是挂。
autojs是一个支持无障碍服务的Android平台上的JavaScriptIDE,可以编写各种自动化脚本,还有结合Tasker,自动布局分析,生成简单代码等功能。
它主要优点有,无需root基于无障碍服务,基于控件以坐标为基础的按键精灵,脚本精灵很容易出现分辨率问题,而以控件为基础的Autojs则没有这个问题,上手简单使用javascript编写支持中文变量名,可打包可以将JavaScript打包为apk文件,这一点可以简化用户操作,对上了年纪的用户很重要。
D. autojs不开启无障碍服务运行
可蔽缓以。autojs是可以首搭不开启无障碍服务运行的,是一款新的手机脚本开发工具,开发语言是JS,开发者并拿门槛低,做过网站开发的都会写JS。
E. autojs读取内部存储
autojs读取内部存储内容:
importostotal_folder_path='ccc_123456'
total_folder_list=os.listdir(total_folder_path)fortotal_folderintotal_folder_list:
new_total_folder_path=os.path.join(total_folder_path,total_folder)print(new_total_folder_path)
ccCAutoJS是一款新的手机脚本开发工具,开发语言是JS,开发门槛低,做过网站开发的都会写JS。系统目前只支持安卓7.1以上的版本,IOS不能使用。他的主要工作原理是使用无障碍服务,获取APP的控件信息,包括控件的:类名、包名、id、文本、描述等。
F. Autojs手机版教程
AutoJs最新版本apk是一款颇为实用的安卓手机免root脚本制作工具,其中的代码都是入门级别的,有点程序基础的用户都能看懂,而对编程全然不知的用户只要修改应用中的坐标和次数也能够轻松完成脚本编辑,游戏录制、应用功能启动等一触即达。
一个不需要Root权限的类似按键精灵的自动操作软件,可以实现自动点击、滑动、输入文字、打开应用等。注意:这里的不需要Root权限指的是一般软件,游戏的自动点击等是需要Root权限的。
AutoJs最新版本apk特色:
1.简单易用的自动操作函数;
2.悬浮窗录制和运行;
3.丰富的文档、教程与示例;
4.更专业&强大的选择器API,提供对屏幕上的控件的寻找、遍历、获取信息、操作等。类似于Google的UI测试框架UiAutomator,您也可以把他当做移动版UI测试框架使用;
6.采用JavaScript为脚本语言,支持简单的代码补全。您也可以把他当作简便的JavaScript IDE使用;
7.带有界面分析工具,类似Android Studio的LayoutInspector,可以分析界面层次和范围、获取界面上的控件信息;
8.支持使用Root权限以提供更强大的屏幕点击、滑动、录制功能和运行shell命令。
AutoJs最新版本apk使用说明:
有些按钮或者部件是图标而不是文字(例如发送朋友圈的照相机图标以及QQ下方的消息、练联系人、动态图标),这是不能通过click来点击,只能通过描述图标所在的区域来点击。