gohud

蓋在畫面上

← 控制項

GoDrawer — 側邊面板

GoSheet 從底部上來,這在直握的手機上是對的。在平板或桌機上, 同一張頁面會把遊戲整個蓋住;側邊面板則改從側邊進來。

bag.side = GoDrawer.Side.RIGHT
bag.open("背包")

面板本身貼到螢幕邊緣,但內容留在安全區域裡面,否則圓角會把第一列切掉。LEFT 就算在阿拉伯文底下也是指螢幕左側;如果你要的是「起始那一側」,請打開 follow_text_direction,它在 RTL 下會翻邊。

GoPopover — 釘住的卡片

GoPopover.open(slot, item_card(item))

這是 GoSurface 的錨定擺放,只是視窗層、外殼、錨點與善後都先接好了 — 就是每個遊戲都要重寫一遍的那十行。同一時間只會開一個,因為卡片疊起來會把畫面埋掉, 誰也分不出哪張卡片屬於哪一格。遮罩是透明的:你打開來比較裝備的卡片,不可以把裝備變暗。

它不是滑鼠停留提示。觸控沒有停留這回事,所以只有滑鼠才叫得出來的東西, 對你一半的玩家來說是看不見的。

GoContextMenu — 長按與右鍵

GoContextMenu.attach(item_slot, [
    {"text": "使用", "action": use},
    {"separator": true},
    {"text": "丟棄", "action": drop, "danger": true},
])

PopupMenu 引擎裡本來就有。沒有的是那個手勢:按住半秒才開, 手指一動就取消,所以捲動清單絕不會跳出選單。項目要看你按到誰才決定時, 傳一個 Callable 進去,而不是陣列。

長按需要第二個入口。沒有人會自己發現藏起來的手勢 — 請搭配一顆看得見的 按鈕(open_at())、一個圖示,或是第一次進遊戲時的導覽標記。

GoConsole — 開發者主控台

console.register("give", "給予道具:give <id> <count>", give)
console.toggle()

作弊與除錯指令,附帶一個邊打邊篩選的指令面板,這樣就沒有人需要背它們, 方向鍵上還有歷史紀錄。它待在所有東西之上,所以你可以蓋在對話方塊上面除錯。

在發行版本裡它拒絕開啟。debug_only 預設是開的;作弊指令落到玩家手上, 遊戲的經濟系統第一天就結束了。