然后,创建角色类 ![[Pasted image 20230528195854.png]] 其中包含角色名字,最大生命值,移动速度,当前生命值,图标 ![[Pasted image 20230528195901.png]] 弄两个属性类,分别是敌人属性,和士兵属性 ![[Pasted image 20230528200013.png]] ![[Pasted image 20230528200043.png]] ![[Pasted image 20230528200051.png]] 角色是跟武器挂钩的,也整一个武器基类 ![[Pasted image 20230528200221.png]] 也是抽象类 声明有编号,范围,加成属性,对应的GameOBject预制体,归属(通过角色类划分),粒子系统,绘制线体(也就是子弹弹道),灯光,音源 再整一个抽象的开火方法类 ![[Pasted image 20230528200321.png]] 四种武器,创建四个类 ![[Pasted image 20230528200906.png]] 继承和方法体重写 ![[Pasted image 20230528200949.png]] ![[Pasted image 20230528200958.png]] ![[Pasted image 20230528201005.png]] ![[Pasted image 20230528201015.png]] 角色属性有了,武器类有了,开始完善角色基类 声明里面,有角色属性,对应预制体,导航系统,音源,拥有武器类 再整一个攻击方法,是调用了武器的开火方法 ![[Pasted image 20230528201114.png]] 弄完角色相关,开始弄ui相关,先整一个ui基类 ![[Pasted image 20230528201415.png]] 也是一个抽象类,其中包含3个虚函数,分别是初始化,更新,释放资源 ![[Pasted image 20230528201440.png]] 整四个ui类 ![[Pasted image 20230528201606.png]] 继承同理 ![[Pasted image 20230528201654.png]] ![[Pasted image 20230528201702.png]] ![[Pasted image 20230528201711.png]] ![[Pasted image 20230528201722.png]] 弄一个中间者类,是统筹处理的 ![[Pasted image 20230528201903.png]] 先弄一个instance单例 然后一个布尔判断,游戏是否结束 再弄俩获取器,分别是获取自身的单例,还有获取游戏是否结束的 继续弄一个构造函数,暂时是空的 ![[Pasted image 20230528202008.png]] 声明各个系统类和ui类 ![[Pasted image 20230528202140.png]] 整一个初始化函数,是实例化各系统和ui对象,然后调用各初始化 ![[Pasted image 20230528202228.png]] 更新函数和释放函数,同理 ![[Pasted image 20230528202339.png]] 弄完相关的逻辑关系,又开始继续鼓捣引擎场景 先切换到第二个场景,删掉多余的光线,再设置一下相机的渲染相关 因为没涉及3d,第二个场景只是开始游戏按钮相关的ui ![[Pasted image 20230528202548.png]] 弄一个按钮,命名 简单调整一下位置 ![[Pasted image 20230528202803.png]] 简单设置一下锚点 ![[Pasted image 20230528202849.png]] ![[Pasted image 20230528202910.png]] 完善主菜单场景的逻辑 状态开始的逻辑函数,拿到按钮的点击事件 绑定一个函数按钮函数,其中的功能,是切换到战斗状态 ![[Pasted image 20230528203001.png]] 回到第一个场景 ![[Pasted image 20230528203220.png]] 运行游戏,自动切换到第二个场景后,点击,是正常切换到战斗场景的 ![[Pasted image 20230528203157.png]] 继续完善战斗场景状态的逻辑 场景开始函数,会调用GameFacade的初始化 然后,场景更新函数,判断游戏是否结束,如果游戏结束的布尔为true,就把控制器切换到主菜单场景 ![[Pasted image 20230528203410.png]]