开始导入美术资源素材

到这两个子文件夹,其中包含的,就是敌人和士兵的美术资源预制体

选中其中一个,把缺失的脚本移除 其他几个同理(不要忽略了Soldier战士文件夹)

先勾选自动保存,移除结束再取消勾选

先整场景切换的相关逻辑 新建一个文件夹

基类

继续Ctrl+N 创建新场景,Ctrl+S 保存 一共三个场景,用来切换

加到这里

注意序号

继续整一个场景控制器

基类这些东西,都不要有命名空间限制

场景状态控制器,声明场景状态变量,异步场景加载,布尔判断场景是否在跑

回到场景状态类,先声明场景名字,场景状态控制器

然后,是场景名字获取器

三个函数状态,分别是开始,结束,更新

回到场景控制器,引用命名空间,其中有场景管理器

设置场景状态函数 如果当前场景状态不为空,就调用结束函数,让上一个场景,清理 然后改一下场景状态,如果是要加载场景,就异步加载场景,判断是否开始的布尔,设置为false 否则,就可以开始具体的场景逻辑了

更新函数,如果场景的异步加载不为空,同时isDone这个标识还没加载完成,直接return就好

再通过是否开始的布尔和上述俩条件,判断场景是否加载完成→开始场景的具体业务逻辑

还有更新函数

然后,新建三个类,分别代表三种场景状态

打开第一个场景,新建一个图片 命名

按住alt,设置,占满全屏

继续

因为几个场景的名字都是固定好的 所以子类不需要传参场景名字,写死就好

注意命名空间 声明图片image,滑动的浮点速度 等待时间

重写父类的开始业务逻辑,先找到Logo这个图片,然后颜色设置为黑

更新函数里,颜色随着时间乘以速度,渐变 然后还有一个定时器,定时到达小于等于0的时候,就传参,然后切换到下一个场景

在初始场景挂载的GameLoop脚本 前面定义了,是不会销毁的 开始写开始函数:实例化一个场景状态控制器,然后设置第一个场景状态,是开始场景

更新函数也是调用控制器的更新逻辑就好

运行游戏,可以看到,变色正常,切换也是正常的