思路
该游戏特点是按压时间越长,跳跃越远,而且是线性关系。
也就是说,若在我的手机中按住屏幕 700ms 能跳 3.3 cm 远,那它的系数为 700/3.3=212.12 ms/cm
现在用尺在手机屏幕上量出小人和目标块中心点距离为4.2cm,那么乘以上面的系数后(4.2 *212.12) = 848 ms。只要能精确地按压 848 ms时间 ,就能跳4.2cm的距离了。
人类肯定是无法这么精确的控制按压时间的,所以需要一些指令来控制自己的设备以达到精确按压的目的。
关键指令如下(仅对安卓有效,而且需要启动usb调试并且解压adb工具):
adb shell input swipe 250 250 250 250 ??
?? 代表按压的毫秒数,这里使用我们上面计算出来的 848
那么最后要执行的指令就是:
adb shell input swipe 250 250 250 250 848
准备
安卓机+usb线+pc(windows系统)
直尺
步骤
1.手机开启 USB调试模式
开启调试模式:设置 >> 更多设置 >> 开发者选项 >> 调试-USB调试 (若出现提示,请点确定)
开启调试模式(安全设置):设置 >> 更多设置 >> 开发者选项 >> 调试-USB调试(安全设置) (若出现提示,请点确定)
两个都要开启,很重要!
开发者选项是个隐藏选项,不同手机系统开启方式不同。
以MIUI为例,在 设置 >> 我的设备 >> 全部参数 >> MIUI版本 连续点击它若干次直至出现成功提示
其它手机也是要找到设置里的 版本号,连续点击,请自行尝试。
2.手机连接电脑
若出现信任提示,请点确定
3.解压adb工具,打开命令行并进入adb解压目录;
例如我解压到了D:\adb,需执行下面指令 (可先拷贝,在命令行右键粘贴执行)
cd D:\adb
d:
指令解释:
cd xx 代表进入xx目录
d: 代表切换至d盘,注意后面有冒号
由于当前命令行环境处于c盘,执行cd D:\adb 后,还需切换至d盘
此时代表命令行已进入该文件夹内,达到目标
4.打开微信跳一跳, 在命令行输入测试指令后回车执行
adb shell input swipe 250 250 250 250 555
若发现小人能蓄力跳起,就已经非常接近成功了
5.用直尺测量小人和目标点距离,乘以 系数( 212.12 ms/cm ) 取整数,把结果代入到指令 “adb shell input swipe 250 250 250 250 ??”的问号中,在命令行输入代入后的指令执行
注意:系数手机有关,需自行调整。系数越大,代表单位距离内按压的时间会越长。
若跳远了,减小系数;若跳近了,增大系数,直至每一次能准确调到目标点。
总结
该方法和其它代码大佬的区别在于别人用图形计算像素距离,乘以像素系数算出按压时间;
而我们使用直尺测量现实距离,乘以现实距离系数算按压时间。
我们有我们的优点——步骤清晰,小白也能懂,不用安装一大堆代码执行环境,配置;
当然,缺点也很明显——无法自动化,受测量误差影响严重,量久了对眼睛不好。
若您有了更高的追求,比如:
能不能输入一个距离自动得出按压时间,别让我按计算器了;
能不能得到按压时间后自动生成命令并执行,别让我贴到命令行了;
能不能自动计算小人和点距离,我眼睛都快量瞎了;
能不能自动帮我玩,我啥都不想干,只想静静地看;
说明您已具备程序员思维了,请移步至代码大佬区寻找答案