这门课解决什么问题与基础门槛

很多跟着前面基础内容入门的开发者,能跑通加载、能摆界面,但一碰到“角色一直在动、场景一直在滚、障碍一直在刷”的玩法就卡壳。这门课正是补这块缺口:它把两个经典的小游戏机制拆开讲,一个是“点击给角色一个向上的速度、松手任其下落”,另一个是“小球反弹、砖块被击中后消失并计分”。真正的难点不在美术,而在节点生命周期管理、速度的帧计算、跨节点数据传递。适合的基础是:你已经会用引擎创建节点、挂载基础脚本、跑通过简单的点击事件。如果你连脚本怎么绑定到节点都不清楚,建议先补引擎基础再来,否则到对象池那几节会完全听不懂。不要假装自己已经懂了状态管理,直接硬啃物理逻辑。

建议的学习顺序与资料配合练习

别一上来就死磕物理参数。建议先过前言与前期回顾,确认你对引擎基础操作没有断层;然后先看场景设计里背景移动的实现,理解“用脚本驱动节点位置每帧偏移”是怎么回事,再进入主角控制。飞扬的肖恩这块,重点放在对象池管理那几节,因为管道、尘土这类节点是高频创建销毁的,不写池子后期必然掉帧。弹球打砖块那部分,重点看碰撞检测和反弹方向的判断逻辑。资料包里的工程文件不要只当答案抄,建议自己新建一个空工程,照着每节的思路先写一遍,跑不通再对照源码查错。具体做法是:看一节视频,暂停,自己凭记忆敲一遍核心逻辑,跑通了再继续下一节。遇到卡壳的地方,先看自己报错是空引用还是逻辑没进回调,再去翻源码对比。这样缺口才补得实,而不是看完觉得都会、动手全废。

看完应能独立回答的问题与产出

  • 主角跳跃和下落到底是改坐标还是用物理引擎,两种方式各自的坑在哪?
  • 背景无限滚动是怎么用两段节点交替位置实现的,不是简单循环移动?
  • 对象池在管道和尘土节点上具体怎么预取、怎么回收,复用判断条件写在哪?
  • 节点之间传分数和游戏状态,用全局事件还是直接引用,哪种后期更不容易乱?
  • 弹球碰到砖块边缘和正面时,反弹方向是怎么算出来的,不是写死四方向?

学完后你应该能独立产出的东西是:一个能跑的横版躲避小游戏,带分数累计、碰撞结束、重新开始;以及一个打砖块原型,能打、能消、能反弹。不要求美术多好看,但逻辑链必须是你自己能从头讲清楚的。如果讲不清楚对象池那段,说明没学透,回头补。

课程目录

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)