说明
跳一跳,微信新出的小工具,根据按压时间决定小旗子的跳跃距离,成一定关系(具体关系没研究)。同时游戏提供各种小盒子,需要用户按屏幕控制小旗子不断的跳到下一个盒子上,并记录分数。
adb命令
安卓提供了一套adb命令,首先需要开启手机的usb调试。
然后调用几个关键的adb命令:
首先第一个截图命令
adb shell /system/bin/screencap -p /sdcard/screenshot.png
第二个拉取,也就是下载
adb pull <remote> <local> adb pull /sdcard/screenshot.png d:/jump.png
第三个就是点击,此处不能用普通的点击,需要使用模拟滑动命令
adb shell input swipe <x1> <y1> <x2> <y2> [duration(ms)] adb shell input swipe 100 100 100 100 50
注意x1,y1为起点位置,x2,y2为终点位置,这个可以一样,无所谓的,主要是最后的持续时间,这个时间就是按压时间。
辅助实现流程
后面就是程序流程的问题了,先截图再下载图片,然后可以选择人工确定起止点也可以图像识别,根据a^2+b^2=c^2的公式计算出来斜边长度,这就是要跳跃直线距离,当然我也不知道他是按照抛物线还是直线算的,具体的距离到时间的公式可以自己研究,最后计算出来跳跃时间换算成毫秒,发送出去就行了。
图像识别
棋子样子固定可以找到,背景颜色会变,根据图像四个角的颜色可以取到背景颜色,不会四个角都是新物体的。去掉背景就是所有的块。
棋子所在块最下方像素的上方的其他的块就是目标块,然后跳就行了。
adb补充说明
adb用cmd调用即可,这样用cmd脚本是不是都能实现?
最新评论