欢迎来到 wabc.cc 官方网站!

跳一跳开发程序平台优化

来源:新闻资讯 / 时间:2025-11-09

1、跳一跳小程序如何知道要按多久屏幕

  很显而易见地:小人与目标方块离得越远,需要按下屏幕的时间就越长,两者成正相关。我们可以有个大胆的假设:两者能否用简单的线性关系去拟合,那么就有以下的公式:

  按下时间 = 距离 * 常量系数

  这个常数怎么确定呢?其实就是猜,多调试几次,就能拿到比较准确的数字。

如果距离过近或过远,落点产生误差,我们可以根据不同距离范围动态调整系数。

 

  2、小人与目标方块坐标与距离的获取

  要算距离,首先要得到坐标,笔者想到了几种方式:

  点击小人底部,然后点击目标方块顶部,两次点击事件回调,就能得到两个坐标。

  用图像处理得到小人的坐标,目标方块坐标由点击屏幕产生。

  小人与目标方块坐标都用图像识别得到。

  可见第三种最理想,甚至能让程序自己在玩游戏,但目前本程序采用了第二种方式。

得到坐标后,根据两点间距离公式,算出小人与目标方块的距离。

 

  3、悬浮窗

  有上一小节可知,目标方块的坐标需要我们点击屏幕产生,此时就有个问题:我们要获取目标方块坐标,但不能直接点在小程序上,否则会触发小人跳动。因此,我们可以创建一个透明的悬浮窗来解决这个问题。

  使用悬浮窗,捕抓目标方块坐标

  当悬浮窗覆盖在小程序上方,点击跳一跳小程序上的目标方块,实际上是点击透明的悬浮窗,因此对应位置的坐标就能被我们捕获,并不会触发小程序。

 

  4、 openCV的使用

  判断小人在屏幕的位置,实质上是一种“查找B图中在A图中的位置”的需求,其中A图就是手机屏幕截图。这需求我们可以使用openCV的Imgproc.matchTemplate方法完成。

  在游戏开始时,执行shell指令截取屏幕图像,然后用Imgproc.matchTemplate方法查找截图中小人的位置,记录作为起跳坐标。

等一轮跳跃结束后,再次执行shell命令截取屏幕图像,分析小人跳跃后的位置,做好下一次跳跃的准备。


相关产品

在线客服
微信联系
客服
扫码加微信(手机同号)
电话咨询
返回顶部