亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

autojs 螞蟻森林能量自動拾取即給指定好友澆水的實現(xiàn)方法

 更新時間:2020年05月03日 11:43:17   作者:放大的EZ  
這篇文章主要介紹了autojs 螞蟻森林能量自動拾取即給指定好友澆水的實現(xiàn)方法,本文通過圖文并茂實例代碼相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1、簡介

定時 實現(xiàn)對螞蟻森林能量的自動拾取,以及幫指定好友澆水

在這里插入圖片描述

2、開發(fā)環(huán)境搭建

語言: javaScript
開發(fā)工具:vcCode. auto.js

1)、手機安裝 auto.js

我們編寫的腳本就是在這個上面運行
auto.js 官網(wǎng)
可以下載源碼自己編譯 apk,
同時官網(wǎng)提供開發(fā)文檔,幫助編寫開發(fā)

或者 下載別人已經(jīng)編譯好的 a'p'k
autojs 下載

安裝在手機上,并且設(shè)置無障礙服務(wù)

在這里插入圖片描述

在這里插入圖片描述

開啟音量上鍵關(guān)閉 運行程序

在這里插入圖片描述

2)、電腦安裝vcCode

為了編寫腳本方便 我們在使用 vccode 來編寫代碼
vccode 官網(wǎng)下載

在這里插入圖片描述

3)、vcCode 安裝autojs插件

在這里插入圖片描述

4)、連接電腦端的 vcCode 和手機端的 autojs(1).開啟AutoJS插件

按 Ctrl+Shift+P
移動光標到命令A(yù)uto.js: Start Server,按回車鍵執(zhí)行該命令。

在這里插入圖片描述

此時VS Code會在右上角顯示"Auto.js server running",即開啟服務(wù)成功。

在這里插入圖片描述

(2) 查看電腦ip

電腦 cmd 運行 ipconfig 命令,查找當前ip

在這里插入圖片描述

(3) autojs 手機連接電腦

auto.js app 設(shè)置里點擊連接電腦,輸入 電腦 ip

在這里插入圖片描述

電腦顯示連接成功

在這里插入圖片描述

3、編寫功能代碼

可以參考autojs 開發(fā)文檔 對 功能進行開發(fā)
autojs 官方文檔

1) 、使用 vcCode 進行代碼編寫

在這里插入圖片描述

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

在這里插入圖片描述

3) 、運行代碼

在電腦上按 F5 就能夠讓電腦上編寫的代碼直接在手機運行

4) 保存電腦上的代碼到手機

按 Ctrl+Shift+P
移動光標到命令A(yù)uto.js: Sava On Device,按回車鍵執(zhí)行該命令。

在這里插入圖片描述

就保存到了手機上的 autojs apk 里面 ,以后可以直接在這里面運行。

在這里插入圖片描述

5)自動拾取螞蟻能量的參考代碼

auto();// 自動打開無障礙服務(wù)

// 以下數(shù)據(jù)需自己適配 
var boundTopY = 560 ; //能量區(qū)域上 自己手機上的能量區(qū)域 需要更改本機適配
var boundBomY = 820; //能量區(qū)域下
var boundLeftX = 150; //能量區(qū)域左
var boundRightX = 900; //能量區(qū)域右
var enrgyBound = 80; //自己手機能量球大小 120 取 80 跨度
var energyPoint = [220,740,360,690,490,640,610,610,750,640,890,770] //自己手機 能量球位置 ,最多六個 需自己適配 x 坐標 /Y 坐標 依次排列
 var waterPointX = 980; //好友 澆水按鈕x坐標 需自己適配
var waterPointY = 1520; 

//打開森林頁面
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());
  }
 }
}

//通過區(qū)域來點選能量球
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<energyPoint.length;i += 2){
  click(energyPoint[i],energyPoint[i+1])
 }
}

//拾取他人或者自己能量
function collectOtherEnergy(){
 //collectOtherEnergyFromBound()
 collectOtherEnergyFromPoint()
}

//點擊查看更多好友
function swipToMoreFriends(){
 while(!text("查看更多好友").exists()) {
  swipe(device.width/2, device.height * (2/3), device.width/2, device.height/3, 1000);
 }
 text("查看更多好友").findOne().click()
 sleep(2000) 
 while(!text("沒有更多了").exists()) {
  swipe(device.width/2, device.height * (5/6), device.width/2, device.height/6, 1000);
 }

}

//獲取好友的名字
function getFriendName(friend){
 return friend.child(2).child(0).child(0).text()
}

//判斷點擊的是不是自己
function judgeIfSelf(friend){
 var name = getFriendName(friend)
 if (name == "靜水魚游") {
  return true
 } else {
  return false
 }

}

//給好友澆水
function waterFriendEnergy(){
 click(waterPointX,waterPointY)
 sleep(2000)
 if (text("澆水送祝福").exists()) {
  click("澆水送祝福")
 }
 sleep(500)
}

//拾取好友能量
function selectFriendsEnergy(){
 // toast(11111)
 
 var friendsList = className("android.webkit.WebView").findOne().child(0).child(0).child(1) //獲取好友列表
 for (var i = 0;i<friendsList.childCount() ;i++){
  //toast(i)
   if(!judgeIfSelf(friendsList.child(i))){
   var waterFriend = judgeWaterDesignatedFriends(friendsList.child(i)) //不給好友澆水 注釋掉
   friendsList.child(i).click()
   sleep(2000)
   collectOtherEnergy()
   if (waterFriend) {waterFriendEnergy()} //不給好友澆水 注釋掉
   back()
   sleep(1000)
   }

 }
}

//給指定澆水的好友
function judgeWaterDesignatedFriends (friend){
var waterFriendList = ["小豬佩奇","喜羊羊"] //給澆水的好友 數(shù)組
for (var i= 0;i< waterFriendList.length;i++) {
 if (waterFriendList[i] == getFriendName(friend)) {
  return true
 } 
}
return false
}

//解鎖手機
function unlock(){
 if(!device.isScreenOn()){
 	//點亮屏幕
  device.wakeUp();
  sleep(1000);
  
		//滑動屏幕到輸入密碼界面 
  swipe(device.width/2, device.height/2, device.width/2, device.height/5, 1000);
  sleep(1000);
  id("com.android.systemui:id/key1").findOne(2000).click() //根據(jù)密碼布局找到對應(yīng)按鍵
  sleep(500) 
  id("com.android.systemui:id/key2").findOne(2000).click()
  sleep(500)
  id("com.android.systemui:id/key3").findOne(2000).click()
  sleep(500)
  id("com.android.systemui:id/key4").findOne(2000).click()
  sleep(500)
  id("com.android.systemui:id/key5").findOne(2000).click()
  sleep(500)
  id("com.android.systemui:id/key6").findOne(2000).click()
 }
}


//退出程序
function endCollectEnergy(){

 back();sleep(1000);
 back();sleep(1000);
 back();sleep(1000);
 home()
}

//unlock()
openForestPage()
collectOwnEnergy()
swipToMoreFriends()
selectFriendsEnergy()
endCollectEnergy()

因為好友頁面螞蟻森林使用html 制作,不能用元素 獲取,所以不同機型需要根據(jù)自己機型設(shè)置。

具體位置 可以打開 自己開發(fā)者選項 里面的 指針位置 進行定位

圖中方框 是自己機器設(shè)定的區(qū)域位置,和 能量球大小。

也可以自己定位 自己手機上 6 個能量球的位置,還有好友澆水位置這里就不展示。

在這里插入圖片描述

此代碼會遍歷所有好友,尚不支持取判定好友是否有能量可收

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

到此這篇關(guān)于autojs 螞蟻森林能量自動拾取即給指定好友澆水的實現(xiàn)方法的文章就介紹到這了,更多相關(guān)autojs 螞蟻森林內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解JavaScript中任意兩數(shù)加減的解決方案

    詳解JavaScript中任意兩數(shù)加減的解決方案

    JavaScript中一些浮點數(shù)相加減會計算錯誤,本文將為大家具體介紹一下JavaScript中解決任意兩數(shù)加減會出現(xiàn)錯誤的方案,需要的可以參考一下
    2022-02-02
  • js實現(xiàn)動畫特效的文字鏈接鼠標懸停提示的方法

    js實現(xiàn)動畫特效的文字鏈接鼠標懸停提示的方法

    這篇文章主要介紹了js實現(xiàn)動畫特效的文字鏈接鼠標懸停提示的方法,實例分析了javascript操作css的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • 帶有定位當前位置的百度地圖前端web api實例代碼

    帶有定位當前位置的百度地圖前端web api實例代碼

    這篇文章主要介紹了帶有定位當前位置的百度地圖前端web api實例代碼 的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • 基于Javascript實現(xiàn)文件實時加載進度的方法

    基于Javascript實現(xiàn)文件實時加載進度的方法

    不知道大家有沒有發(fā)現(xiàn)在現(xiàn)在的移動頁面上,有很多情況需要加載大量的資源。但是移動端的訪問速度和pc還是有很大的差距,有些時候需要一些取巧的方式來提升用戶體驗,而實時顯示加載進度就是其中一種。這篇文章就給大家分享了Javascript實現(xiàn)文件實時加載進度的方法。
    2016-10-10
  • javascript設(shè)計模式 – 享元模式原理與用法實例分析

    javascript設(shè)計模式 – 享元模式原理與用法實例分析

    這篇文章主要介紹了javascript設(shè)計模式 – 享元模式,結(jié)合實例形式分析了javascript享元模式相關(guān)概念、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • 學(xué)習javascript,實現(xiàn)插入排序?qū)崿F(xiàn)代碼

    學(xué)習javascript,實現(xiàn)插入排序?qū)崿F(xiàn)代碼

    首先新建一個空列表,用于保存已排序的有序數(shù)列(我們稱之為"有序列表")。從原數(shù)列中取出一個數(shù),將其插入"有序列表"中,使其仍舊保持有序狀態(tài)。
    2011-07-07
  • 在多個頁面使用同一個HTML片段的代碼

    在多個頁面使用同一個HTML片段的代碼

    有一個比較復(fù)雜的HTML片段(A),如果把這個HTML片段嵌入到其他頁面中(B,C,D....)。 問題的關(guān)鍵是在HTML片段中有大量的JavaScript邏輯需要處理,比如說分頁,點擊事件響應(yīng)等。
    2011-03-03
  • BootStrap中Tab頁簽切換實例代碼

    BootStrap中Tab頁簽切換實例代碼

    這篇文章主要介紹了BootStrap中Tab頁簽切換實例代碼的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-05-05
  • 實現(xiàn)高性能javascript的注意事項

    實現(xiàn)高性能javascript的注意事項

    JavaScript代碼在web應(yīng)用程序中經(jīng)常用到,但是很多開發(fā)者忽視了一些性能方面的知識,如何編寫高性能javascript代碼呢?接下來,小編跟大家一起學(xué)習
    2019-05-05
  • 使用Three.js實現(xiàn)太陽系八大行星的自轉(zhuǎn)公轉(zhuǎn)示例代碼

    使用Three.js實現(xiàn)太陽系八大行星的自轉(zhuǎn)公轉(zhuǎn)示例代碼

    這篇文章主要給大家介紹了關(guān)于如何使用Three.js實現(xiàn)太陽系八大行星的自轉(zhuǎn)公轉(zhuǎn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習或者使用Three.js具有一定的參考學(xué)習價值,需要的朋友們下面來一起學(xué)習學(xué)習吧
    2019-04-04

最新評論