最近微信小程序出了一款跳一跳的小游戏,这个游戏其实在之前有手机端版本,无奈微信借助强大的用户把这游戏又拿起来弄火了,其实这个游戏的玩法很简单,长按圆柱体,根据距离决定长按时间:
本文的目的是介绍原理,以及其他的实现思路介绍。工具的核心原理就是借助了两个重要的adb命令:第一、截图命令:adb shell screencap -p [图片路径]截取手机屏幕保存到设备目录下,一般都是SD卡,然后在借助adb pull命令弄到本地。第二、模拟滑动事件:adb shell input touchscreen swipe x1 y1 x2 y2 time滑动参数可以看到,从[x1,x2]点滑动到[x2,y2]点,然后滑动的时间。:
上面介绍完了核心原理之后,接下来就来看看代码的实现过程:
写鼠标点击事件需要注意两点:第一、需要一个变量来记录跳跃的起始点,因为我们在操作之前必须先点击面板图片上的物体中心点作为圆柱跳跃的起始点,然后在点击一次下一个物体的中心点作为圆柱跳跃的着陆点!第二、计算路径问题,这里利用鼠标点击位置的x和y值,利用两点之间距离公式计算即可!
然后就是计算滑动的时间,也就是距离除以圆柱跳跃的速度,这个速度测试发现介于0.3~0.5左右,可以自己调节!有了时间之后就可以直接发送adb命令进行模拟滑动了,因为我们只想圆柱体原地滑动一定时间,所以命令为:adb shell input touchscreen swipe 170 187 170 187 time滑动的起始点和终点都是在自己圆柱体的范围,只是让圆柱体滑动停留的时间到位即可。只要在PC端的Java程序中,点击起跳物体的中心点和着落物体的中心点即可,几乎是不可能死亡的.只要有耐心想要多少就多少!
因为需要这个程序的实现是借助adb命令实现的所以电脑里必须要安装 adb工具包才可以运行!
我已经把adb的包保存到了分享的文件里面,直接使用就可以,需要把adb.exe的目录加入环境变量才行!(怎么加环境变量自己百度)
打开手机的USB调试,安装手机驱动,具体自行百度。(一般是在手机版本号上点若干次,会出现提示)
将手机连接到电脑,打开cdm输入adb devices看是否会出来一个串号来判断是否连接手机是否成功
把源码导入eclipse,打开跳一跳小程序,进入实际开始跳的界面别动,运行程序,在电脑的界面上点击跳跃的起始点和要跳到的终点!(源码可能需要根据自己手机的实际情况调试下参数,所以没有把程序打包,0基础想玩还是跳过去网上找他们打包好的程序用吧)
下载地址回复可见:
发表评论