在要模拟按键双击、长按时,雷电模拟器无法做到,要用ADB来实现
出于做手游脚本的动机先后接触到雷电模拟器和ADB
手游脚本新信息处理:无非两种
从游戏接收信息:当前关卡、按钮位置
发给游戏信息:通过点击对应按钮表示信息
手游脚本操作:简单几种
点击、滑动
点击:单击、双击、长按
从游戏中接收信息,有三种方式:
1.从游戏前台的画面获取
2.从内存获取
3.从游戏与服务器交换的报文中获取
第一种应该难度最低、效率最低;理论上可以使用OCR、Object Detection。
实际上,该游戏画面固定、只有单纯的点击操作,对反应时间没有要求。其实,可以不用从游戏接收信息,在各操作之间预留足够的时间,基本上就能保证操作链正常。当然,要想实现进阶的功能,还是需要从游戏中获取信息。
给游戏发信息,也有与之对应的三种方式:
1.脚本,模拟点击、滑动
2.改内存
3.改报文
同上,第一种最简单。
对于手游,脚本模拟点击又有两种实现方式:
1.模拟器+操作Windows程序的脚本
2.模拟器+操作Android程序的脚本
第一种,把整个模拟器作为一个程序,在Windows的层面控制模拟器窗口的行为,如使用按键精灵,python脚本。这时,点击的是模拟器的界面。
第二种,把模拟器和模拟器内的APP分开,在模拟器内部的层面控制APP的行为,如使用ADB、雷电模拟器API。这时点击的是模拟器内的APP的界面(或者说模拟器代表的手机的屏幕&