主题
跟着做一个推球小游戏
每课做成一件可观察的小事,从第一条日志走到个人计分、HUD 和再来一局。
这条主线面向用过世界版编辑器、还没写过 Lua 的作者。你会亲手推动球体撞击方块,再逐步加上个人积分、倒计时、画面显示和重开按钮。先完成前三课,你就有一个能够反复玩的原型。
每课都有完成状态的代码包。第一次学习按顺序操作;某一步改乱了,就回到该课检查点,避免带着错误继续叠功能。地图、UI 和资源按搭建指南准备,代码包不会替你生成这些内容。
| 课 | 做成什么 | 从哪里继续 |
|---|---|---|
| 01 | 让第一段代码跑起来 | 一个专用空白世界版地图 |
| 02 | 搭好场地,让碰撞有回应 | 第 01 课完成状态 |
| 03 | 每次命中只算一次 | 第 02 课完成状态 |
| 04 | 做出完整的一局 | 第 03 课完成状态 |
| 05 | 把分数记给正确玩家 | 第 04 课完成状态 |
| 06 | 把服务端结果告诉客户端 | 第 05 课完成状态 |
| 07 | 把分数和时间显示在画面上 | 第 06 课完成状态 |
| 08 | 加上再来一局按钮 | 第 07 课完成状态 |
| 09 | 让游戏更有反馈 | 第 08 课完成状态 |
| 10 | 整理代码并交付小游戏 | 第 09 课完成状态 |
第一次建议做到“球撞方块后在日志里计数”,下次再加入完整回合。第 05 课开始将全场命中数改为个人积分;第 08 课把自动下一局改为点击按钮重开。这两次是明确的玩法变化。
阅读一段代码前,先看它上方的“文件”和“操作”:完整文件可以替换,标为“解释片段”的内容只用于读懂变化。遇到术语可先看本课的简短说明,用到更复杂功能时再打开按需专题。
