環(huán)境:
工具:手機(jī)/安卓模擬器,按鍵精靈手機(jī)助手系統(tǒng)版本:android 10
問題描述:
描述:通過編程實(shí)現(xiàn)自動領(lǐng)取每日廣告卡牌包,分享思路和使用到的代碼,并進(jìn)行解析。本文章僅僅只是個人學(xué)習(xí)所用,記錄并復(fù)習(xí)所用的知識,并未對軟件進(jìn)行非法篡改和破壞行為。
(資料圖片)
提示:若按照教程還是無法完成操作,可以進(jìn)入右側(cè)的企鵝,找我看看。
解決方法-視頻與文字教程:
視頻教程:
文字教程:
1.首先思考思路流程大致為:主界面-進(jìn)入領(lǐng)取界面-開始循環(huán)-完成后返回主界面同時代碼需要具備:每個步驟都有其輸出提示-將固定的步驟/高頻率的代碼寫成函數(shù)。
2.準(zhǔn)備工作:實(shí)現(xiàn),將固定的步驟/高頻率的代碼寫成函數(shù)。
- 一般為固定的點(diǎn)擊動作,如,某個關(guān)閉按鈕固定位為一個位置,那么就封裝一個函數(shù)代替動作。
- 日志和提示功能也很常用,點(diǎn)擊和滑動動作也同樣。
實(shí)例封裝代碼:Sub 點(diǎn)擊_小房子 Call 操作_點(diǎn)擊并延遲_秒 (1023,2236,3)End SubFunction 提示(test) TracePrint test ShowMessage testEnd FunctionFunction 操作_點(diǎn)擊并延遲_秒(x, y, num) Tap x, y Delay int(num) * 1000End Function
3.檢測是否在主界面使用顏色命令:FindMultiColor
- 定位大概6個特征點(diǎn),可看到主界面的3種貨幣的位置是固定的,所以選取這里。并且選取范圍,減少匹配時間。
- 函數(shù)需要返回值,故類型為Function,后續(xù)直接調(diào)用即可。
- 函數(shù)名沒有固定要求,個人喜歡這種格式,方便調(diào)用和維護(hù),查找
實(shí)例代碼:Function 檢測_檢查是否在主界面 Dim intX,intY Dim num = 1 FindMultiColor 977,728,1069,1528,"00C6FF","0|-27|00C6FF,-8|-330|FF9000,-34|-346|FD8E00,-11|-677|1589E6,-4|-657|23649A",0,0.8,intX,intY If intX > -1 And intY > -1 Then call 提示 ("提示:在主界面~") num = 1 Else call 提示 ("提示:不在主界面!") num = 0 End If 檢測_檢查是否在主界面 = numEnd Function
3.進(jìn)入卡牌包界面使用觸摸命令:tap
- 在成功檢測到在主界面后,進(jìn)行一系列的點(diǎn)擊動作,并根據(jù)自己設(shè)備的性能選擇合適的延遲時間
- 需要使用到 if 判斷,并對比函數(shù)的返回值,返回為真,那么就進(jìn)行后續(xù)操作。
實(shí)例代碼: If 檢測_檢查是否在主界面() = 1 Then call 提示 ("操作:進(jìn)入卡牌包中") Call 操作_點(diǎn)擊并延遲_秒 (1015,1957,3) //右上角 Call 操作_滑動并延遲_秒 (880,213,200,236,1,3) Call 操作_點(diǎn)擊并延遲_秒 (371,209,3) //卡牌包 Call 操作_滑動并延遲_秒(438, 2026, 419, 496, 1, 3) Else call 提示 ("異常:不在主頁面") Exit Function End If
4.開始循環(huán)使用 for 循環(huán)內(nèi)部進(jìn)行 if 判斷
- 卡牌領(lǐng)取是有上限的,所以進(jìn)行固定次數(shù)的循環(huán)
- 使用 if 判斷是否還有次數(shù),判斷條件為出現(xiàn)紅色字體
實(shí)例代碼: //開始循環(huán)看廣告 Call 提示 ("操作:循環(huán)看廣告") Call 操作_點(diǎn)擊并延遲_秒 (115,1892,2) //第一次點(diǎn)擊 For 5 If CmpColorEx("119|1018|4D05D3,126|1065|4F04DC,107|1087|4D04D5,70|1124|DDD9D8,117|1201|400C89,126|1253|4509A5",0.8) = 0 Then Call 操作_點(diǎn)擊并延遲_秒 (111,1161,3) Call 操作_點(diǎn)擊并延遲_秒(111, 1884, 60) Call 操作_點(diǎn)擊并延遲_秒(965,2084, 3) //退出 Call 操作_點(diǎn)擊并延遲_秒(965,2084, 3) Call 操作_點(diǎn)擊并延遲_秒 (111,1884,3) //右下角繼續(xù) End If Next
5.完成后返回主界面使用觸摸命令:tap
- 很基礎(chǔ)的點(diǎn)擊,注意延遲時間即可。
實(shí)例代碼: //返回桌面 Call 提示 ("操作:任務(wù)完成,返回桌面") Call 點(diǎn)擊_關(guān)閉卡牌包 () Call 點(diǎn)擊_小房子 () Call 提示 ("完成任務(wù):每日廣告碎片")
6.此時就已經(jīng)完成功能,大概70行
關(guān)鍵詞: