A. 自動玩游戲,手游腳本究竟是怎麼做的
手游現在已經成為大家打發碎片化時間的一種很普遍的方式了,而有的人會由於種種願意不能自己去玩,就希望有什麼辦法或者工具能幫助我們解決這個問題,不用人收著也能完成任務。
實現原理:
比如一個 游戲 的任務,你需要在不同的手機屏幕上進行一系列點擊,滑動,甚至輸入文本,發送語音等動作後才能完成,而這一切操作其實就是手機中會記錄這些動作的文件,文件存儲的是一個又一個的信號量,這些信號然後根據不同廠商的設定反饋給上層,而上層會根據反饋的信息轉換成統一識別的事件,事件最後響應給應用,並對信息進行相應的處理,最後呈現給用戶並實現它,這一些列的動作都是可以通過一些現有的工具或者說解決方案來幫我們實現自動 游戲 的功能。
一般實現的方式 :
1.通過USB連接電腦,然後通過ADB(一種android的調試工具,當然iOS也有類似的工具一個原理)對手機進行遠程的控制;
2.通過在手機中安裝一個控制其它app的app來控制,說簡單點就是生成一個手機應用,在手機中運行後,直接通過這個應用對其它應用進行操作;
實現方式我們明白了,那麼要藉助哪些工具或者說哪些解決方案來幫我們進行實現呢。
易語言解決方案:
首先我們來說一說這個被大多數人所知道的,但是又被"正統"程序員所抵觸的編程語言。
這是一款運用中文進行編程的語言,可以說它讓大多數人擺脫了"英文魔咒",很多人認為學習編程其實就是學英語,或者英語不好沒辦法學習編程,這其實是錯誤的理解,這個後話了,等我有空了再為大家分享下如何擺脫這個魔咒。
優勢:
1. 中文化編程,中文畢竟是我們的母語,在更加讓人容易理解;
2. 在 游戲 相關領域有非常成熟的框架,或者中支持庫;
3. 使用這種解決方案的人群非常多,當你遇到問題時很容易找到解決辦法;
劣勢:
1. 代碼的編譯速度相對其他語言來說很慢;(對於現在的電腦硬體來說其實已經沒啥大礙)
2. 會被其他編程語言鄙視,太local化了,沒有那種國際感;
3. 收費;(雖然作者初衷是推廣中文編程,但是推廣也是要錢的嘛,能理解)
4. 易語言需要進行一定的學習,相對其他幾個解決方案來說難度略高;
易語言解決方案總的來說,由於是中文的並且有大量現成知識庫做支撐,很容易就能實現功能,所以一直被用來作為中控型的腳本來編寫,不大會被用來進行生成app的方式來進行(有app化的解決辦法,但是不穩定不討論)
按鍵精靈解決方案:
案件精靈可以說是這個領域里, 歷史 悠久且非常出色的一位前輩。非常簡單就能上手,甚至有通過錄像然後轉成腳本的錄制功能,當然要製作出優秀的腳本也需要進行一定的學習;
優勢:
1. 非常簡單,容易上手,有非常豐富的快捷方式;
2. 有錄制功能,更進一步降低了製作門檻;
3. 歷史 悠久人群穩定,所以社區也很穩定,遇到問題很容易找到解決辦法(注意我說的是群體,不是按鍵精靈的論壇。)
4. 按鍵精靈非常良好的提供了解決方案,即可生成app直接手機中運行,也可以通過安裝按鍵的android版然後傳送腳本進行運行。
劣勢:
1. 付費,且不便宜;
2. 代碼框架實現是基於英文實現;
3. 無法進行分文件管理,就是說所有業務要寫進一個文本里,這其實非常不方便管理和維護;
按鍵精靈解決方案,比較適合對編程沒有什麼基礎的朋友上手。網路上也有非常多的免費教程可以進行學習。
觸動精靈解決方案:
觸動精靈是近幾年新啟一個新的平台,是基於lua語言來進行編寫開發的,與按鍵精靈類似,不過相對按鍵的名聲赫赫,就有點顯得小很多。
優勢:
1. 支持文件化管理開發;(這點其實非常棒,對於後期的代碼開發或者維護來說都很棒)
2. 基於lua開發,所以可以完美利用lua的原表特性來進行一些框架搭建,更加適用於負責的點擊事件;
3. 擁有一套完善的支持自動化的庫,可以直接拿來使用;
4. 支持遠程調試,腳本傳到手機中運行,也可以生成app進行控制;
劣勢:
1. 需要學習lua語言,對小白來說有點不友好;
2. 需要付費,相對按鍵來說比較便宜;
3. 偏小眾,出問題想找解決辦法非常難找;
4. 對於android和iOS系統收取不同的費用來打包生成apk;
5. 代碼框架也是基於英文進行實現的;
觸動精靈的解決方案,好於能利用lua的原表特性來進行自定義框架開發,方便自己的後續的多次開發。網路上也有很多的教程來進行學習,就是遇到問題需要解決的時候,總會找不到辦法,這里有點難受。
Auto.js解決方案:
這套方案是藉助於android手機的無障礙服務進行實現的,根據控制項的id進行一系列的事件響應,精準度更高。
優勢:
1. 無需root就可以實現控制手機;
2. 可在手機中運行,也可以打包成apk運行;
3. 通過控制項id進行控制,准確度非常高,並且自適應解析度;
劣勢:
1. 對 游戲 不大友好,因為 游戲 很多時候控制項都不規則,都是一個個畫布;
2. 需要學習js;
3. 基於英文實現的代碼框架;
Auto.js這個解決方案,對於 游戲 來說並不大友好,雖然也有找圖找色等功能,但是使用起來並沒有按鍵或者觸動那麼方便,並且由於是基於空間id進行控制,並不大適合 游戲 。
其他解決方案:
其實還有其他非常多的類似的解決方案,但是大多數都沒上面列舉的這些被人熟知。
舉個例子像python也擁有非常豐富的類庫,但是只能適應使用usb連接手機的通過adb進行控制這樣的操作,無法生成一個apk來安裝到手機中進行操作,我也曾嘗試過在手機中模擬一個python環境,但是依賴的類庫無法非常方便的移植到手機中,就算靜態編譯過去也非常的耗時,所以python也能實現但是他很不友好,也很不方便,學習成本也非常高。
B. Auto js自動化腳本怎麼在電腦上開發
剛開始學習開發腳本,在這里我會記錄我學習腳本開發碰到的一些問題。Auto js可以直接在手機上編寫腳本,但是這樣肯定不順手,速度奇慢。
還好有vscode這個插件 https://marketplace.visualstudio.com/items?itemName=pz.vscode,下面就手把手教你怎麼使用這個插件。
1. 准備工作
- 電腦安裝了vscode
- 手機上安裝了auto.js
2.安裝Auto.js-VSCode-Extension插件
電腦上打開vscode,點擊左側紅色方框圖標,輸入auto.js搜索,找到如圖全稱Auto.js-VSCode-Ext,點擊install安裝
3、安裝完成後按快捷鍵ctrl+shif+p 然後輸入auto.js:start server打開它
右下角紅色地方點開可以看到Auto.js server running表明開啟成功
4、手機上的auto.js連接電腦,輸入電腦IP地址
提示連接成功就可以了
C. aito.js可以用不是掛
可以用,不是掛。
autojs是一個支持無障礙服務的Android平台上的JavaScriptIDE,可以編寫各種自動化腳本,還有結合Tasker,自動布局分析,生成簡單代碼等功能。
它主要優點有,無需root基於無障礙服務,基於控制項以坐標為基礎的按鍵精靈,腳本精靈很容易出現解析度問題,而以控制項為基礎的Autojs則沒有這個問題,上手簡單使用javascript編寫支持中文變數名,可打包可以將JavaScript打包為apk文件,這一點可以簡化用戶操作,對上了年紀的用戶很重要。
D. autojs不開啟無障礙服務運行
可蔽緩以。autojs是可以首搭不開啟無障礙服務運行的,是一款新的手機腳本開發工具,開發語言是JS,開發者並拿門檻低,做過網站開發的都會寫JS。
E. autojs讀取內部存儲
autojs讀取內部存儲內容:
importostotal_folder_path='ccc_123456'
total_folder_list=os.listdir(total_folder_path)fortotal_folderintotal_folder_list:
new_total_folder_path=os.path.join(total_folder_path,total_folder)print(new_total_folder_path)
ccCAutoJS是一款新的手機腳本開發工具,開發語言是JS,開發門檻低,做過網站開發的都會寫JS。系統目前只支持安卓7.1以上的版本,IOS不能使用。他的主要工作原理是使用無障礙服務,獲取APP的控制項信息,包括控制項的:類名、包名、id、文本、描述等。
F. Autojs手機版教程
AutoJs最新版本apk是一款頗為實用的安卓手機免root腳本製作工具,其中的代碼都是入門級別的,有點程序基礎的用戶都能看懂,而對編程全然不知的用戶只要修改應用中的坐標和次數也能夠輕松完成腳本編輯,游戲錄制、應用功能啟動等一觸即達。
一個不需要Root許可權的類似按鍵精靈的自動操作軟體,可以實現自動點擊、滑動、輸入文字、打開應用等。注意:這里的不需要Root許可權指的是一般軟體,游戲的自動點擊等是需要Root許可權的。
AutoJs最新版本apk特色:
1.簡單易用的自動操作函數;
2.懸浮窗錄制和運行;
3.豐富的文檔、教程與示例;
4.更專業&強大的選擇器API,提供對屏幕上的控制項的尋找、遍歷、獲取信息、操作等。類似於Google的UI測試框架UiAutomator,您也可以把他當做移動版UI測試框架使用;
6.採用JavaScript為腳本語言,支持簡單的代碼補全。您也可以把他當作簡便的JavaScript IDE使用;
7.帶有界面分析工具,類似Android Studio的LayoutInspector,可以分析界面層次和范圍、獲取界面上的控制項信息;
8.支持使用Root許可權以提供更強大的屏幕點擊、滑動、錄制功能和運行shell命令。
AutoJs最新版本apk使用說明:
有些按鈕或者部件是圖標而不是文字(例如發送朋友圈的照相機圖標以及QQ下方的消息、練聯系人、動態圖標),這是不能通過click來點擊,只能通過描述圖標所在的區域來點擊。