博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android微信跳一跳,自动跳App实现
阅读量:7207 次
发布时间:2019-06-29

本文共 639 字,大约阅读时间需要 2 分钟。

  hot3.png

微信小游戏 跳一跳 刚推出 ,不错,简单 好玩!

但是程序员最烦的就是一直重复做一件事情,所以,能不能自动跳一跳?

元旦放假,研究了一下,具体思路分享给大家。

先上图

图像识别和处理使用的是opencv

左图为使用opencv提供的 akaze算法实现的图片特征点匹配

右图为自动识别边线,并计算最大矩形框

按压时间T自动获取实现:

  1. 通过特征点匹配,识别出小人的中心点位置:A
  2. 通过识别框线找出小人上面最大矩形框中心点的位置:B
  3. 通过上面的位置计算出小人即将跳出的距离S=A->B
  4. 通过测试计算出按压屏幕的时间T=X*S,X为不断测试得出

Android后台自动点击和屏幕截图App实现(无需root):

  1. App启动后,启动一个前台服务,用户可以在通知栏操作是否开启自动跳
  2. 用户打开跳一跳 App在后台使用 MediaProjection API 截取手机屏幕
  3. 通过上文方式对图像识别获取按压时间T
  4. App使用instrumentation后台发送点击屏幕动作持续时间为T

至此,整个App的实现方式已介绍完。

非root方式发送屏幕触摸事件比较困难,研究中。。。,可能需要每种手机的rom编译一个apk包

跳一跳有个漏洞,可以根据session修改分数,大家可以试试。

App正在测试,完善我会开源给大家使用,谢谢观看!

有问题和交流请送邮件到:gemron@foxmail.com

 

转载于:https://my.oschina.net/gemron/blog/1600289

你可能感兴趣的文章
自定义ViewPager,避免左右滑动时与水平滑动控件冲突
查看>>
javaScript-进阶篇(一)
查看>>
截取地址栏参数
查看>>
Redis介绍及Jedis基础操作
查看>>
<转> core Animation动画-2
查看>>
使用C创建php扩展
查看>>
CodeForces 151B Phone Numbers
查看>>
vector
查看>>
vue之实现日历----显示农历,滚动日历监听年月改变
查看>>
display:block;inline;inline-block大总结
查看>>
开博的第一天!
查看>>
hadoop-hdfs-fsimage与edits合并
查看>>
1.06 CCLayerColor 及 CCLayerGradient
查看>>
ENCOURAGE研究: 病情中度活动RA获得深度缓解后有望实现停药
查看>>
css3中动画animation的应用
查看>>
贝塞尔曲扫盲(转)
查看>>
kill
查看>>
How to export a template in Visual Studio?
查看>>
socket 网络编程
查看>>
网络相关
查看>>