设计模式复习_第五章.md 3.3 KB

然后,创建角色类

![[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]]