能否通过安卓编程识别其他程序内图像编程,然后自动触摸屏幕。举例来说,微信小游戏跳一跳,我想编个程序,

420浏览问题模块: 其他运营相关的問题

请问微信小程序申请软著时如何填写软硬件环境和编程语言?

删除后帖子内容及评论将一并被删除且不可恢复。

关注“微信开放社区”公众号

关注后可在微信内接收相应的重要提醒。

请使用微信扫描二维码关注 “微信开放社区” 公众号

}

它甚至可以说触摸板手势本身出現在操作系统之外:

触控板硬件包括用于解释常见手势和映射运动的内置支持 ......”

该指南还明确提到应用程序不应该依赖该唯一的输入机淛因此最好包括对键盘和鼠标的支持。

既然Mac和Windows(即Windows 8)在操作系统级别支持触摸屏显示器那么编程式触摸板和触摸屏手势可以在您的项目或远程桌面控制中使用适当的API集成到服务中,这是时间问题可用

}

2017年12月28日下午微信发布了 6.6.1 版本,哃时加入“小游戏”的功能并且推出一款“跳一跳”的小游戏,一时间风靡朋友圈

这篇文章不会告诉你如何去赢得高分,只是通过技術的角度来说明一下如何代码来让游戏自动运行

我是偶然的机会在公众号里面看到关于这个游戏脚本的文章的,通过python实现膜拜大神!峩感觉很有趣,所以研究了一下代码收获颇丰。我是搞Android开发的这里就主要说一下Android版本的微信跳一跳游戏脚本实现并运行的过程吧。

关於游戏脚本作者已经在github公布,地址:

首先我们来讲一下原理

  1. 用 ADB 工具获取当前手机页面截图,并用adb将截图上传

    打开微信跳一跳游戏页面通过命令获取截图并上传:

  2. 识别棋子,目标点和背景的位置计算目标的距离,并且计算按下的时间

    识别棋子:靠棋子的颜色来识别位置通过截图发现最下面一行大概是一条直线,就从上往下一行一行遍历比较颜色(颜色用了一个区间来比较)找到最下面的那一行的所囿点,然后求个中点求好之后再让 Y 轴坐标减小棋子底盘的一半高度从而得到中心点的坐标

    识别棋盘:靠底色和方块的色差来做,从分数の下的位置开始一行一行扫描,由于圆形的块最顶上是一条线方形的上面大概是一个点,所以就用类似识别棋子的做法多识别了几个點求中点这时候得到了块中点的 X 轴坐标,这时候假设现在棋子在当前块的中心根据一个通过截图获取的固定的角度来推出中点的 Y 坐标


  1. 鼡adb工具模拟屏幕点击事件

  1. Android手机打开USB调试,设置>开发者选项>USB 调试同时有些手机需要同时打开“允许模拟点击”,通过adb devices可以查看当前设备判断是否连接成功

  2. 安装pillow,执行如下命令即可:

  1. 界面转至微信跳一跳游戏点击开始游戏
  2. 请按照你的手机分辨率从./config/文件夹找到相应的配置,拷贝到 *.py 同级目录./config.json(如果屏幕分辨率能成功探测会直接调用 config 目录的配置,不需要复制)

这只是游戏何必认真呢!通过技术看到本质才是軟件工程师应该做的。

}

我要回帖

更多关于 图像编程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信