繁體中文
English 简体中文 繁體中文
Methodox 首頁

在 Glaze! 中製作 Sky Hopper

複雜度: 20s(1 個圖)(?) 技能水平: ★★★★☆(高階)
難度: ★★★☆☆(中級)
收穫: ★★★★☆(高)
閱讀時間: 15 分鐘
狀態: 編寫中(WIP)
修訂版本: 001
最後更新: 2025-06-11

即時圖形除錯很困難,尤其是因為 Glaze 是一個底層圖形框架。

本教程仍在編寫中,尚未完成。

要求:

  1. Divooka Community 版,或帶有 Glaze! 工作負載的 Divooka Compute
  2. 一臺 Windows PC/膝上型電腦(Divooka 的 GUI 編輯器目前僅支援 Windows)
  3. 30 分鐘到 1.5 小時的時間,取決於你的技能水平

你將學到的技術:

  1. 從檔案載入資源
  2. 實現形狀之間的 2D 碰撞
  3. 高階狀態管理
  4. 從零開始建立 GUI

涉及的語言特性:

  • 過程式上下文
  • 狀態管理
  • 函式(使用 Custom Event)
  • Glaze! 互動式媒體框架

有幫助的預備知識

  • 瞭解 Divooka 中的過程式上下文
  • 瞭解如何在 Divooka 中除錯過程式程式

概覽

圖:最終結果的螢幕截圖
圖:最終結果的螢幕截圖

總的來說,這項任務的主要技術難點是 2D 碰撞檢測。其餘部分(狀態處理等)在任何過程式應用程式中都很常見。完成本教程後,你將對 2D 電子遊戲的工作原理有紮實的理解。

下面是 Divooka 中設定的快照。

Divooka 中的設定

涉及的遊戲知識:

  1. 實體生成與管理
  2. 碰撞檢測
  3. 座標系
  4. 剛體運動學
  5. HUD 與渲染順序
  6. 鍵盤事件

準備工作

資源下載

資料夾結構

(遊戲資料夾的螢幕截圖/目錄樹)

程式設定

最簡單的可執行遊戲

一隻青蛙 移動的背景

組織程式的各個部分

拼合各部分 新增 GUI

整理

新增音效(SFX)

除錯與測試

結語

在本教程中,我們瞭解瞭如何使用 Glaze! 在 Divooka 中製作 Sky Hopper。從軟體工程的角度看,主要難點在於碰撞處理以及原始碼和資源的管理。

藉助本教程介紹的技術,你現在已經能夠開發帶有 HUD 和實體物件的簡單 2D 電子遊戲——不過,你還無法處理“可變形”的物件,例如 Angry Birds 中的那種。

進一步開發

為簡單起見,我們使用自訂事件來拆分過程式邏輯;更好的方法是把函式定義為子圖。

你可以對遊戲做出的一些改進:

  1. 在小鳥扇動翅膀、撞擊或死亡時新增音效。
  2. 處理管道的程序化生成:自動刪除移出視野的管道,並即時生成新的管道
  3. 更好地處理背景影像

參考資料

  • 影片演練:YouTube
  • Glaze! 框架文件:Wiki
  • Glaze! 音訊 API:Wiki
  • 圖形和音訊資源下載:此處
  • 完成的 Divooka 程式下載:此處