这门课解决什么问题与基础门槛
很多跟着前面基础内容入门的开发者,能跑通加载、能摆界面,但一碰到“角色一直在动、场景一直在滚、障碍一直在刷”的玩法就卡壳。这门课正是补这块缺口:它把两个经典的小游戏机制拆开讲,一个是“点击给角色一个向上的速度、松手任其下落”,另一个是“小球反弹、砖块被击中后消失并计分”。真正的难点不在美术,而在节点生命周期管理、速度的帧计算、跨节点数据传递。适合的基础是:你已经会用引擎创建节点、挂载基础脚本、跑通过简单的点击事件。如果你连脚本怎么绑定到节点都不清楚,建议先补引擎基础再来,否则到对象池那几节会完全听不懂。不要假装自己已经懂了状态管理,直接硬啃物理逻辑。
建议的学习顺序与资料配合练习
别一上来就死磕物理参数。建议先过前言与前期回顾,确认你对引擎基础操作没有断层;然后先看场景设计里背景移动的实现,理解“用脚本驱动节点位置每帧偏移”是怎么回事,再进入主角控制。飞扬的肖恩这块,重点放在对象池管理那几节,因为管道、尘土这类节点是高频创建销毁的,不写池子后期必然掉帧。弹球打砖块那部分,重点看碰撞检测和反弹方向的判断逻辑。资料包里的工程文件不要只当答案抄,建议自己新建一个空工程,照着每节的思路先写一遍,跑不通再对照源码查错。具体做法是:看一节视频,暂停,自己凭记忆敲一遍核心逻辑,跑通了再继续下一节。遇到卡壳的地方,先看自己报错是空引用还是逻辑没进回调,再去翻源码对比。这样缺口才补得实,而不是看完觉得都会、动手全废。
看完应能独立回答的问题与产出
- 主角跳跃和下落到底是改坐标还是用物理引擎,两种方式各自的坑在哪?
- 背景无限滚动是怎么用两段节点交替位置实现的,不是简单循环移动?
- 对象池在管道和尘土节点上具体怎么预取、怎么回收,复用判断条件写在哪?
- 节点之间传分数和游戏状态,用全局事件还是直接引用,哪种后期更不容易乱?
- 弹球碰到砖块边缘和正面时,反弹方向是怎么算出来的,不是写死四方向?
学完后你应该能独立产出的东西是:一个能跑的横版躲避小游戏,带分数累计、碰撞结束、重新开始;以及一个打砖块原型,能打、能消、能反弹。不要求美术多好看,但逻辑链必须是你自己能从头讲清楚的。如果讲不清楚对象池那段,说明没学透,回头补。
课程目录
1-1 [前言] 课程介绍 (13:36) 1-2 [前言] 前期回顾 (06:18) 2-1 [飞扬的肖恩-场景设计] 背景色的设计 (24:26) 2-2 [飞扬的肖恩-场景设计] 天空与地面的设计 (16:23) 2-3 [飞扬的肖恩-场景设计] 游戏主角的设计 (12:46) 2-4 [飞扬的肖恩-场景设计] 背景移动的实现 (20:11) 3-1 [飞扬的肖恩-数据传递] 节点间数据传递 (25:53) 4-1 [飞扬的肖恩-主角的控制] 主角动画控制 (44:06) 4-2 [飞扬的肖恩-主角的控制] 小羊跳跃与下落的实现 (52:28) 5-1 [飞扬的肖恩-场景中节点管理] 节点对象池管理 (46:36) 5-2 [飞扬的肖恩-场景中节点管理] 尘土节点的创建 (22:48) 5-3 [飞扬的肖恩-场景中节点管理] 管道节点的创建 (56:30) 5-4 [飞扬的肖恩-场景中节点管理] 管道节点的移动 (15:03) 6-1 [飞扬的肖恩-碰撞系统] 碰撞检测系统 (17:18) 6-2 [飞扬的肖恩-碰撞系统] 碰撞组件的添加与分组 (13:06) 6-3 [飞扬的肖恩-碰撞系统] 碰撞产生后的逻辑处理 (49:02) 7-1 [弹球打砖块-场景设计] 场景设计 (10:58) 8-1 [弹球打砖块-物理引擎] 物理引擎中的相关概念 (24:41) 9-1 [弹球打砖块-物理引擎的应用] 墙面和地面设计与实现 (08:55) 9-2 [弹球打砖块-物理引擎的应用] 砖块的设计与实现 (26:15) 9-3 [弹球打砖块-物理引擎的应用] 球体的设计与实现 (23:14) 9-4 [弹球打砖块-物理引擎的应用] 球体的碰撞回调处理 (28:03) 9-5 [弹球打砖块-物理引擎的应用] 木板的设计与实现 (14:57) 10-1 [弹球打砖块-游戏得分处理] 游戏的得分处理 (04:50) 10-2 [弹球打砖块-游戏得分处理] 游戏开始和结束的处理 (17:53)





