然后,创建角色类
![[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]]