Macho DUI | 粉牛 DUI
整理與功能說明
以下為 API 內容的中文翻譯與解說:
1. DUI 窗口建立與控制
MachoCreateDui(url)
建立一個 DUI 窗口,內容由指定的 url 所指向的頁面渲染;渲染由 Macho 後端處理,默認尺寸與遊戲解析度相同,且初始為隱藏狀態。
MachoShowDui(dui_handle)
顯示該 DUI 窗口,可用於調試或等待菜單載入完成時顯示。
MachoHideDui(dui_handle)
隱藏該 DUI 窗口,同樣可用於調試或過渡時使用。
MachoDestroyDui(dui_handle)
銷毀指定的 DUI 窗口,釋放資源。
2. DUI 與網頁互動通訊
MachoSendDuiMessage(dui_handle, json):將一段 JSON 資料(字串)傳送至該 DUI 窗口所載入的網頁中。你可以在該網頁使用 JavaScript 接收這個訊息,例如:window.addEventListener("message", (event) => { // 處理 event.data 中的 JSON });
使用情境舉例與建議
嵌入動態 HTML/CSS UI: 若想在遊戲中顯示自定義 UI(例如控制面板或資訊圖層),可將網頁存放為本地 HTML 文件或遠端頁面,並使用
MachoCreateDui()加載它。訊息互動控制: 使用
MachoSendDuiMessage()將 Lua 或遊戲中的狀態資訊傳遞到 UI,再由網頁端透過message事件接收更新畫面。載入時動畫或 Loading 效果: 初始建立後先保持
hidden,等 UI 製作完成(例如動畫播完)再用MachoShowDui()顯示,提升使用者體驗。清除資源: 當 UI 不再需要時,務必呼叫
MachoDestroyDui()避免資源浪費。
簡要總結表格
建立 DUI
MachoCreateDui(url)
創建 DUI 窗口並指定渲染內容
控制顯示/隱藏
MachoShowDui(dui_handle) / MachoHideDui(dui_handle)
顯示或隱藏 DUI 窗口
銷毀 DUI
MachoDestroyDui(dui_handle)
銷毀窗口並釋放資源
傳送訊息至 UI
MachoSendDuiMessage(dui_handle, json)
傳送 JSON 給 DUI 頁面使用 JS 接收
最后更新于