跳到正文
文件
本頁內容

啟動引數

啟動引數可以直接開啟某個介面、關卡或一次遊玩,開關引數只改變遊戲的這一次啟動。引數寫在執行檔後面:快捷方式、終端或Steam的啟動選項中

不帶引數時,遊戲開啟主選單

透過MCP連線的AI助手可以把同樣的引數傳送給已經在執行的遊戲 - AI助手

語法

  • 每個引數以兩個連字元開頭:--editor
  • 值用空格或=隔開:--speed 1.5和--speed=1.5是一樣的
  • 鍵不區分大小寫:--Editor同樣有效
  • 無論系統語言是什麼,數字都用小數點:1.5,不能寫1,5
  • 含空格的值放在雙引號中:--level "D:\My Levels\Volcano"

遊戲無法使用的引數永遠不會中止啟動。它會被丟棄,相關的一行寫入日誌,遊戲開啟平常的介面。日誌的位置:幫助與錯誤報告 › 日誌

不認識的引數會被忽略。遊戲只讀取自己的、帶兩個連字元的引數。Unity自己的單連字元引數,例如-screen-width,會原樣通過。解析度和全屏模式用它們來設定

介面

引數開啟什麼
--menu主選單,和不帶引數相同
--editor關卡編輯器
--game--level指定的關卡,並立即開始遊玩
--settings主選單,上面覆蓋設定介面

介面引數最多傳一個。兩個不同的介面引數會互相抵消,開啟的是選單,並在日誌中留下警告

--settings可以指定標籤頁:general、audio、controls、keybindings、graphics、interface、game-editor、profile、other。不指定名稱時,設定開啟在你上次所在的標籤頁。不認識的名稱會被丟棄,設定照常開啟

每次啟動設定只打開一次。之後回到選單時不會再次開啟。每個標籤頁裡有什麼:設定

選擇關卡

--level用關卡的識別符號(LevelId)或關卡資料夾的路徑來指定關卡。名稱永遠無效:名稱會重複、會被翻譯、會被修改。看起來像識別符號的值總是被當作識別符號

只在遊戲列表中已經顯示的關卡里查詢。不在列表中的資料夾,遊戲找不到

搭配結果
無選單開啟在關卡介面,等待開始
--editor編輯器開啟這個關卡
--game立即開始遊玩

密碼永遠不通過引數傳遞。受保護的關卡會在介面上詢問密碼,回答後開啟

遊玩條件

這些條件會填寫關卡介面上的控制元件,遊玩就像你按下了開始一樣開始。它們只在搭配--game時生效。沒有它時會被忽略,並在日誌中留下警告

引數值關卡介面上的控制元件
--speed大於0且不超過2,四捨五入到0.1速度
--lives從0到16,0即禪生命
--seed0或正整數,0表示每次遊玩使用新種子玩家種子
--botnone、reflex、warm機器人
--checkpoints、--no-checkpoints無檢查點
--no-collision無無碰撞

省略的條件取預設值:3條生命,速度1.0,檢查點開啟,無機器人,種子0,碰撞開啟

這樣啟動的遊玩就是普通的遊玩。它和其他遊玩一樣計入統計,統計

作用於整次啟動的開關

這三個引數適用於任何介面,永遠不會修改已儲存的設定:

引數作用
--autosave on、--autosave off在這次啟動中開啟或關閉編輯器的自動儲存。設定的編輯器標籤頁顯示強制的值,並且不允許修改
--suppress-game-saves整次啟動使用匿名模式。無法在遊戲中關閉,設定 › 匿名模式
--frame-stats向日志寫入幀時間彙總,包括GPU和CPU時間。用於效能測量
--frame-stats-windows關卡播放時,每 0.25 秒額外寫入一行:關卡幀以及CPU和GPU時間的中位數。同時會開啟 --frame-stats。關閉關卡時,再寫入一行,把每個視窗與評分對它的預測進行比較。用於檢驗效能評分

--frame-stats每30秒為每個介面寫一行,介面上方的視窗每次變化時也會寫一行。介面的前3秒不計入

組合

命令結果
無或--menu選單
--editor未開啟關卡的編輯器
--settings選單,設定開啟在你上次所在的標籤頁
--settings graphics同上,開啟在圖形標籤頁
--level X選單顯示關卡X的介面,等待開始
--level X --game關卡X,正在遊玩
--level X --editor打開了關卡X的編輯器
--game但沒有--level選單和警告
--menu --editor選單和警告
--speed 2但沒有--game條件被忽略,並有警告
--editor --autosave off編輯器,自動儲存僅在這次啟動中關閉
--autosave maybe被忽略並有警告,由你的設定決定
--suppress-game-saves選單。這次啟動中游戲自己的存檔都不會寫入磁碟
--level X --game --suppress-game-saves關卡X,正在遊玩,結束後不留下統計
--editor --suppress-game-saves編輯器。關卡存檔、自動儲存和備份照常寫入,設定和統計不寫入

示例

在Windows上,從終端或快捷方式:

"Bullet Hero.exe" --editor
"Bullet Hero.exe" --level 5f2b0e6a-1c3d-4b5e-8a9f-0d1e2f3a4b5c --game --lives 1 --speed 1.5
"Bullet Hero.exe" --level "C:\Users\<you>\AppData\LocalLow\vertoker\Bullet Hero\levels\Volcano" --editor

在Steam中,遊戲的啟動選項只寫引數,不寫執行檔:--editor --autosave off

Android

Android沒有命令列。引數通過啟動遊戲的intent中的字串附加資料bh傳遞,拆分方式和手動輸入的命令列完全相同。從電腦上通過adb來完成:

adb shell "am start -S -n com.vertoker.BulletHero/com.unity3d.player.UnityPlayerGameActivity -e bh '--frame-stats --editor'"
  • 引號很重要。整個am start放在雙引號中,bh的值放在單引號中。否則裝置的shell會拆開這一行:bh只收到第一個引數,其餘的會作為am自己的引數交給它
  • -S會先停止正在執行的遊戲。引數只在啟動時讀取一次。傳送給已經在執行的遊戲不會有任何變化

iOS完全沒有啟動引數