在 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 中的那种。
进一步开发
为简单起见,我们使用自定义事件来拆分过程式逻辑;更好的方法是把函数定义为子图。
你可以对游戏做出的一些改进:
- 在小鸟扇动翅膀、撞击或死亡时添加音效。
- 处理管道的程序化生成:自动删除移出视野的管道,并即时生成新的管道
- 更好地处理背景图像