Unity到使用bat跨平臺編譯打包--unity batchmode 模式(一)

感覺做Unity學的東西挺多,入門學編程時學的C++,然後入遊戲業學C#,後面做熱更新學了lua,搞跨平臺還要學oc,java,最近入手的一個MMORPG項目,跨平臺編譯、打包,全部使用的Bat處理,以前都是使用Unity引擎上自帶的Build輸出或者寫一個腳本調用Build輸出。

使用Bat編譯、打包的好處:同時開啓多個版本,同時進行,Unity只啓動進程,並不會啓動客戶端,可同步進行資源拷貝、傳輸、刪除等操作,打包步驟較少,只需要輸入自定義命令即可。

 

先學習一下必要命令

echo xxx:顯示輸出,用來打印,相當於print。試試 echo hello world

echo %xxx%:顯示一個變量的值

echo off:關閉命令顯示,執行的命令不顯示在窗口中。

echo on:打開命令顯示,執行的命令顯示在窗口中。

 

set:用於定義變量,如set platform = a,則是定義了一個變量platform,這裏貌似沒有數據類型約束。

 

set/p:用於提示用戶輸入定義一個變量,並將用戶輸入的值,賦值給這個變量,如:

set/p platform = platform(android,ios,pc):

後面的platform(android,ios,pc):將會顯示在界面用於提示,當用戶根據顯示提示輸入值後,回車則會保存該變量,輸入android,則platform的值爲android。

 

pushd %~dp0:把批處理所在的路徑設爲當前路徑, %~dp0爲當前執行的bat文件所在的文件路徑,pushd則是切換到該目錄

 

if "%platform%" == "1"(

    set resurl_1=http:/xxx:8888/magres/%resdir%
    set ncfurl_1=http://xxx:9992
    set resurl_3=http://xxx:8888/magres/%resdir%
    set ncfurl_3=http://xxx:9992

)

if:流程控制語句,用於判定一個條件,並設定了一些變量。(兩個%號用於取這個變量的值%platform%,雙邊加了"",理解爲轉成了字符串)

goto xxx:流程跳轉,當執行到這裏時,將會跳轉到xxx標籤處,可以用於出錯時結束批處理。

xxx:跳轉標籤

pause:暫停批處理

exit:退出批處理

del :xx\xx\xx.txt 或xx\xx:刪除文件或文件夾

call:命令可以在批處理執行過程中調用另一個批處理,當另一個批處理執行完後,再繼續執行原來的批處理。如:call android.build.bat,則是進入android.build.bat這個批處理中執行邏輯,一般每個平臺的批處理文件不一樣,可使用多個bat文件劃分功能。

^:將一行代碼分成2行來寫,有的時候一行代碼包含命令太多,會造成可讀性很差,需要分開寫。

如:echo this is first ^
line

運行結果爲:
this is first line .

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章