为了更好的展示运行效果,我贴一个刚刚录制的视频。http://v.youku.com/v_show/id_XMzI4NzM4MzI0NA==.html?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2
具体识别的算法,我现在没有时间总结了,大家可以先看源码。源码中部分参数是在笔者的手机上进行调试的(分辨率为1080),大家可以根据自己手机,进行相应修改。
-
识别玩家位置
如下图中白色空心方格所示:
-
识别目标方块位置
如下图中红色实心方格所示,识别最上面的顶点,最左边的点,与最右边的点,从而计算出中心点:
-
识别目标方块中心圆点的位置
如果你前一次踩中中心点,会有下一个中心点的提示(一个白色的圆点)。
- 通过ADB截屏;
- 通过ADB将截屏保存到电脑;
- 识别玩家位置;
- 识别目标方块位置;
- 识别目标方块中心圆点的位置;
- 如果第5步成功,则取第5步的中心点为下一步的位置;否则,取第4步的中心点为下一步的位置;
- 计算玩家位置与下一步的位置,乘以一定的系数,得到长按的时间;
- 通过ADB,触发长按;
- 准备Java运行与编译环境;
- 安装Android SDK;
- 准备好一部已经打开开发者模式的Android手机,请确认是否adb已经联接上你的手机;如果adb连接失败,则会导致截图与拉取截图失败,提示“find myPos, fail”;
- 修改com.skyline.wxjumphack.Hack中ADB_PATH,将其改为你自己的ADB位置;
- 打开微信,打开跳一跳游戏,并点击开始;
- 运行程序吧,骚年,观察它自动跳动;