在 Glaze! 中製作 Sky Hopper
複雜度: 20s(1 個圖)(?)
技能水平: ★★★★☆(高階)
難度: ★★★☆☆(中級)
收穫: ★★★★☆(高)
閱讀時間: 15 分鐘
狀態: 編寫中(WIP)
修訂版本: 001
最後更新: 2025-06-11
即時圖形除錯很困難,尤其是因為 Glaze 是一個底層圖形框架。
本教程仍在編寫中,尚未完成。
要求:
- Divooka Community 版,或帶有 Glaze! 工作負載的 Divooka Compute
- 一臺 Windows PC/膝上型電腦(Divooka 的 GUI 編輯器目前僅支援 Windows)
- 30 分鐘到 1.5 小時的時間,取決於你的技能水平
你將學到的技術:
- 從檔案載入資源
- 實現形狀之間的 2D 碰撞
- 高階狀態管理
- 從零開始建立 GUI
涉及的語言特性:
- 過程式上下文
- 狀態管理
- 函式(使用 Custom Event)
- Glaze! 互動式媒體框架
有幫助的預備知識
- 瞭解 Divooka 中的過程式上下文
- 瞭解如何在 Divooka 中除錯過程式程式
概覽
總的來說,這項任務的主要技術難點是 2D 碰撞檢測。其餘部分(狀態處理等)在任何過程式應用程式中都很常見。完成本教程後,你將對 2D 電子遊戲的工作原理有紮實的理解。
下面是 Divooka 中設定的快照。

涉及的遊戲知識:
- 實體生成與管理
- 碰撞檢測
- 座標系
- 剛體運動學
- HUD 與渲染順序
- 鍵盤事件
準備工作
資源下載
資料夾結構
(遊戲資料夾的螢幕截圖/目錄樹)
程式設定
最簡單的可執行遊戲
一隻青蛙 移動的背景
組織程式的各個部分
拼合各部分 新增 GUI
整理
新增音效(SFX)
除錯與測試
結語
在本教程中,我們瞭解瞭如何使用 Glaze! 在 Divooka 中製作 Sky Hopper。從軟體工程的角度看,主要難點在於碰撞處理以及原始碼和資源的管理。
藉助本教程介紹的技術,你現在已經能夠開發帶有 HUD 和實體物件的簡單 2D 電子遊戲——不過,你還無法處理“可變形”的物件,例如 Angry Birds 中的那種。
進一步開發
為簡單起見,我們使用自訂事件來拆分過程式邏輯;更好的方法是把函式定義為子圖。
你可以對遊戲做出的一些改進:
- 在小鳥扇動翅膀、撞擊或死亡時新增音效。
- 處理管道的程序化生成:自動刪除移出視野的管道,並即時生成新的管道
- 更好地處理背景影像