gohud

安裝 gohud

兩條路:讓 AI 代理替你裝,或把資料夾放進專案 —— 此外不必設定任何東西。

最快的路 —— 讓 AI 代理替你安裝

把一段文字貼到 Claude Code、Codex、Cursor 或 Gemini CLI,它會同時裝好技能與外掛,再為你講解 gohud。走這條路,這張卡片以下的內容一樣都不需要。

開啟 AI SKILL 頁 →

安裝

把附加元件資料夾放進你的專案,沒有別的要設定。

從 Asset Store 或發行 ZIP 安裝

解壓縮到專案根目錄,讓路徑成為 res://addons/gohud/。這樣就好。也可以順便啟用 專案 → 專案設定 → 外掛程式 → gohud

以 git 子模組安裝

git submodule add https://github.com/thruthesky/gohud.git addons/gohud
git submodule update --init
git -C addons/gohud checkout v1.0.0   # 選用:固定在某個標籤或提交

版本庫的根目錄就是附加元件資料夾,所以它會剛好落在 Godot 預期的位置。直接在原地編輯, 在 addons/gohud 裡 commit 與 push,再到你的遊戲專案裡 commit 子模組指標。

需要 Godot 4.6 以上。gohud 用到 4.5 才有的 API(DPITexture、 FoldableContainer、無障礙屬性),版本更舊就會在解析階段直接失敗。 支援的下限是 4.6,記錄在 GoUi.MIN_ENGINE

快速上手

每個控制項都是 .new()add_child() — 不用場景檔,也不用自動載入。

組 UI 之前先挑外觀(選用)

GoUi.use_preset(GoThemePresets.SCIFI_DARK)   # 略過這行時會使用 default_dark

await 接的確認對話方塊

var dialogs := GoDialogs.new()
add_child(dialogs)
if await dialogs.confirm("刪除存檔", "此動作無法復原。"):
    delete_save()

把最後一個引數 destructive = true 傳進去,確認按鈕就會畫成實心的危險按鈕。

帶固定搜尋欄與頁尾的底部面板

var sheet := GoSheet.new()
add_child(sheet)
sheet.open("背包")
sheet.toolbar().add_child(GoStyle.line_edit("搜尋…"))
sheet.toolbar().visible = true
for item in items:
    sheet.body.add_child(GoStyle.list_button(GoIconSet.BOX, item.name, _use.bind(item),
        Color.TRANSPARENT, item.description, false))
sheet.footer().add_child(GoStyle.button("關閉", sheet.close, GoStyle.Tone.PRIMARY))
sheet.footer().visible = true
固定列為什麼要跟捲動本文分開。把確認與取消放進 body,清單一長就把它們推出畫面。footer() 永遠看得見。

HUD 的一角

var corner := GoHudAnchor.new()
corner.spot = GoHudAnchor.Spot.TOP_LEFT
corner.landscape_spot = GoHudAnchor.Spot.TOP_RIGHT
add_child(corner)

var hp := GoBar.new()
hp.label_text = "HP"
hp.ink = GoUi.color(GoTheme.DANGER_FILL)
corner.add_child(hp)
hp.set_values(320, 500)

讓內容避開 HUD

form.avoid_hud = true                  # 避開每一個顯示中的 GoHudAnchor
joystick_anchor.reserve_space = false  # …但只在手指底下才出現的那些除外
notice_anchor.avoid_peers = true       # 提示訊息落在固定 HUD 下方,而不是蓋住它

每個矩形都往損失面積最小的方向避開 — 直向手機往下,橫向則往側邊。 HUD 彼此避讓的機制 →

可以直接跑的範例

三種在寫下第一行程式碼之前就看得到 gohud 的方式 — 都不需要伺服器,也不需要自動載入。

範例怎麼開看得到什麼
藝廊examples/gallery/gallery.tscn · F6每一個控制項、一個可以挑選所有已安裝預設集的選擇器,以及完整圖示組
中世紀examples/medieval/medieval.tscn · F6角色面板、行囊與任務日誌;按鈕可切換鐵與羊皮紙,也能打開物品細節
示範應用程式cd examples/demo && godot一個首頁畫面,可開啟藝廊、15 章導覽、展示畫面與中世紀外觀,裡面是真的會動的控制項,每個類別各一張卡片
cd examples/demo && godot                             # 首頁畫面;第一次執行會建立連結並匯入
bash examples/demo/run.sh                               # 同一個應用程式,從附加元件根目錄啟動
bash examples/demo/run.sh -- --open=gallery             # 跳過首頁畫面
bash examples/demo/run.sh -- --explore=surfaces         # 直接開在導覽的某一章
bash examples/demo/run.sh --record /tmp/gohud-demo.avi  # 以 1080p / 60 fps 錄下整段導覽

示範應用程式不需要任何設定:附加元件連結或匯入快取不見時,它會直接說出來,修好那個資料夾 再自己重新開啟。它的首頁畫面會在同一個視窗裡打開每一個範例 — 按 14 或點一列, 頂端那條列會把你帶回來。

在導覽裡,C 切換劇場模式,F11 全螢幕,Space 暫停(在探索模式下則是播放目前的 控制項),方向鍵換章節,Escape 回到起始畫面。

在用 AI 編碼代理嗎?一道指令就打開這三個 →