autojs 蚂蚁森林能量自动拾取即给指定好友浇水

文章目录

        • 1、简介
        • 2、开发环境搭建
          • 1)、手机安装 auto.js
          • 2)、电脑安装vcCode
          • 3)、vcCode 安装autojs插件
          • 4)、连接电脑端的 vcCode 和手机端的 autojs
            • (1).开启AutoJS插件
            • (2) 查看电脑ip
            • (3) autojs 手机连接电脑
        • 3、编写功能代码
          • 1) 、使用 vcCode 进行代码编写
          • 2) 使用 android sdk里面的 uiautomatorviewer.bat 抓取app 控件信息
          • 3) 、运行代码
          • 4) 保存电脑上的代码到手机
          • 5)自动拾取蚂蚁能量的参考代码

1、简介

定时 实现对蚂蚁森林能量的自动拾取,以及帮指定好友浇水

2、开发环境搭建

语言: javaScript
开发工具:vcCode. auto.js

1)、手机安装 auto.js

我们编写的脚本就是在这个上面运行
auto.js 官网
可以下载源码自己编译 apk,
同时官网提供开发文档,帮助编写开发

或者 下载别人已经编译好的 a’p’k
autojs 下载

安装在手机上,并且设置无障碍服务
autojs 蚂蚁森林能量自动拾取即给指定好友浇水_第1张图片

autojs 蚂蚁森林能量自动拾取即给指定好友浇水_第2张图片

开启音量上键关闭 运行程序
autojs 蚂蚁森林能量自动拾取即给指定好友浇水_第3张图片

2)、电脑安装vcCode

为了编写脚本方便 我们在使用 vccode 来编写代码
vccode 官网下载

autojs 蚂蚁森林能量自动拾取即给指定好友浇水_第4张图片

3)、vcCode 安装autojs插件

autojs 蚂蚁森林能量自动拾取即给指定好友浇水_第5张图片

4)、连接电脑端的 vcCode 和手机端的 autojs
(1).开启AutoJS插件

按 Ctrl+Shift+P
移动光标到命令Auto.js: Start Server,按回车键执行该命令。
autojs 蚂蚁森林能量自动拾取即给指定好友浇水_第6张图片
此时VS Code会在右上角显示"Auto.js server running",即开启服务成功。
在这里插入图片描述

(2) 查看电脑ip

电脑 cmd 运行 ipconfig 命令,查找当前ip
autojs 蚂蚁森林能量自动拾取即给指定好友浇水_第7张图片

(3) autojs 手机连接电脑

auto.js app 设置里点击连接电脑,输入 电脑 ip
autojs 蚂蚁森林能量自动拾取即给指定好友浇水_第8张图片
电脑显示连接成功
autojs 蚂蚁森林能量自动拾取即给指定好友浇水_第9张图片

3、编写功能代码

可以参考autojs 开发文档 对 功能进行开发
autojs 官方文档

1) 、使用 vcCode 进行代码编写

autojs 蚂蚁森林能量自动拾取即给指定好友浇水_第10张图片

2) 使用 android sdk里面的 uiautomatorviewer.bat 抓取app 控件信息

autojs 蚂蚁森林能量自动拾取即给指定好友浇水_第11张图片

3) 、运行代码

在电脑上按 F5 就能够让电脑上编写的代码直接在手机运行

4) 保存电脑上的代码到手机

按 Ctrl+Shift+P
移动光标到命令Auto.js: Sava On Device,按回车键执行该命令。
autojs 蚂蚁森林能量自动拾取即给指定好友浇水_第12张图片
就保存到了手机上的 autojs apk 里面 ,以后可以直接在这里面运行。
autojs 蚂蚁森林能量自动拾取即给指定好友浇水_第13张图片

5)自动拾取蚂蚁能量的参考代码
auto();// 自动打开无障碍服务
requestScreenCapture(); //请求截图

var boundTopY = 560 ;   //能量区域上 自己手机上的能量区域 需要更改本机适配 
var boundBomY =  820;   //能量区域下
var boundLeftX = 150;   //能量区域左
var boundRightX = 900;  //能量区域右
var enrgyBound = 80;   //自己手机能量球大小 120 取 80 跨度

var energyPoint = [220,740,360,690,490,640,610,610,750,640,890,770] //自己手机 能量球位置 ,最多六个

var waterPointX = 980; //浇水按钮x坐标
var waterPointY = 1520; 

var isWaterFriend = false; //是否给好友浇水
var waterFriendList = ["小猪佩奇","灰太狼"] //浇水的 好友列表
var ownName = "自己的名字" //自己的名字
var lastPoaition = null  //图片识别 容易出错,容错计算
//打开森林页面
function openForestPage(){
    launchApp("支付宝") //打开支付宝
    text("首页").waitFor()
    sleep(500)  
    click("首页") //点击首页
    text("蚂蚁森林").waitFor()
    sleep(500)
    click("蚂蚁森林")  //点击蚂蚁森林
}


//拾取自己能量
function collectOwnEnergy(){
    text("公益林").waitFor()
    sleep(1000)
    if  ( null != textContains("收集能量").findOne(3000)) {
        var Energys = textContains("收集能量").find() //查找所有的可以搜集的能量
        for (var i = 0; i< Energys.length;i++) {
            var energyBound = Energys[i].bounds()
            click(energyBound.centerX(), energyBound.centerY());
        }
    }
}

//通过区域来点选
function collectOtherEnergyFromBound(){
    for (var x = boundLeftX ; x < boundRightX;x += enrgyBound ){
        for (var y = boundTopY; y < boundBomY; y += enrgyBound ){
            click(x,y)
        }
    }
}

//通过能量球的位置来点选
function collectOtherEnergyFromPoint(){
    for (var i = 0; i

因为好友页面蚂蚁森林使用html 制作,不能用元素 获取,所以不同机型需要根据自己机型设置。

具体位置 可以打开 自己开发者选项 里面的 指针位置 进行定位

图中方框 是自己机器设定的区域位置,和 能量球大小。

也可以自己定位 自己手机上 6 个能量球的位置,还有好友浇水位置这里就不展示。
autojs 蚂蚁森林能量自动拾取即给指定好友浇水_第14张图片

其中根据图片收取能量方法:
getHasEnergyfriendPosition()
就是截取屏幕,判断图片是否有如下相对位置 和颜色都比较符合设定的 像素点,有就返回第一个像素点的位置,没有返回null
具体使用方法 看官方文档 :
findMultiColors
autojs 蚂蚁森林能量自动拾取即给指定好友浇水_第15张图片
其中根据图片来查找 会出现一定概率的查找到别的相似图片,不如遍历所有好友稳定,但是能够节省很多时间。

最新代码:
github 源码地址

文件参考:
https://github.com/hyb1996/Auto.js

你可能感兴趣的:(python,爬虫)