一、思路介绍
1. 通过Python自动手机截屏,并保存到电脑
2. 通过PhotoShop测量要跳的距离
3. 通过Excel计算按压时间
4. 通过CMD命令控制手机按压时间
二、实现方法详解
1. 通过Python自动手机截屏,并保存到电脑
我这里用的Pycham工具,语言Python,语句就这几行。
程序运行成功后,可以看到目录下出现了图片666.png,每过1s自动刷新手机截屏并下载覆盖本地图片,这时手机打开跳一跳的游戏,就是跳一跳的图片截图了
1 #!/usr/bin/env python
2 # coding: utf-8
3 import os
4 import time
5
6
7 if __name__ == '__main__':
8 while True:
9 # 截屏命令
10 cmd = r'adb shell screencap -p /sdcard/1/666.png'
11 os.system(cmd)
12 # 保存到本地
13 cmd = r'adb pull /sdcard/1/666.png E:\Python\Demo\venv1\jumpgame'
14 os.system(cmd)
15 time.sleep(1)
说明:执行 adb shell screencap -p /sdcard/1/666.png 需要:
(1) 手机USB连接电脑,手机要打开开发者模式,USB调试模式打开
(2) 电脑安装 adb
2. 通过PhotoShop测量要跳的距离
用PhotoShop打开666.png图片,选中吸管里的标尺工具,在图片上面测量要跳的距离,上面可以看到522.22个像素
3. 通过Excel计算按压时间
将PhotoShop测量的数据到Excel进行计算(结果=比例*距离),这里的结果就是按压时间,取整715
比例根据不同实际手机或者分辨率可能会有差异,根据跳的距离调整一下就好,我的手机分辨率1920*1080
4. 通过CMD命令控制手机按压时间
打开CMD,输入adb shell input swipe 100 100 100 100 715
这5个参数前面的四个100是按压地点,可以随意输入,只要不超过边界就行,后面的715就是前面计算的按压时间
回车后会发现手机已经跳了一步了,由于用ps测量的是像素,所以准确率超级高,基本每次都能跳到正中间,基本跳30次就可以得到600多分
三、补充
其实Python实现手机截图,可以不通过Python程序,直接CMD执行截屏和保存本地命令,一样可以实现,只不过操作会比较麻烦一点
分数刷太高容易被删掉,之前刷了个1111和666都被删了,只保留了这个,不过这都不是重点,重点的是过程
文章全部原版手打,不足之处请指正,有任何疑问欢迎留言咨询!