前两天手机微信升级到了最新版,多了个跳一跳的游戏,无聊玩了几把,奈何手残,最高只玩到70多分,就想着能不能搞个工具辅助下,于是有了下边的工具:
工具的简单原理如下:
根据前后两个方块的距离计算出一个按下的时间,然后发送相应按下时间的touch事件给小程序,实现跳跃。
将问题分解:
1)怎样发送指定时间的touch事件给小程序?
怎么简单怎么来 ,反正手机root了, 可以直接在shell下 使用‘input swipe 30 30 30 30 “ + 时间毫秒数(input swipe 30 30 30 30 500 就是长按500ms)
2)怎样计算按下时间?
最简单的模型, 距离正比于时间, 怎么拿到比例? 人肉实验....。
3)怎么计算距离?
最笨的方法....手指点 然后代码计算两点的屏幕距离.
问题都已经有解决方案 ,接下来设计交互方案:
还是一切从简,试用android的悬浮窗, 在跳一跳小游戏上边加个蒙层,游戏开始后,每次跳跃时,手动点一个当前位置和即将跳跃的位置,获得屏幕距离, 辅助工具根据该距离计算出要长按的时间,发送一个长按的事件给跳一跳小程序,小程序完成跳跃。
下边放上代码:
https://github.com/cosmos-chou/jump_tool.git
改工具使用需手机root,系统kitkat版本以上。我在三星s5和nexus 6p上实验过,可以使用,但是上边说的比例值略有差异,应用提供了设置项,可以根据自己手机手动调节,比例值越小,相同距离下按下的时间越长。
使用方法:
1),手动打开系统设置中相应应用的悬浮权限
2),打开应用点击 running,屏幕上方会出现相应的工具栏
3),进入跳一跳游戏,点击工具栏的START,出现蒙层
4),点击当前位置和下一个要跳跃的位置,工具完成跳跃。