【Unity23种设计模式】之状态模式

首先创建一个项目

打开项目后复制至3个场景

命名为

创建一个空物体

命名为GameLoop

创建一个脚本GameLoop.cs

编写代码如下

将代码挂载至空物体GameLoop

将三个场景拖拽至Scenes In Build

分析下状态模式的类图

我们创新类图中的代码

编写ISceneState.cs

编写三个状态子类继承构造并赋值

编写SceneStateController.cs

编写GameLoop.cs

状态模式框架搭好后我们在ISceneState.cs

编写GameLoop.cs

编写LoadingState.cs

在场景中创建一个Image命名为Logo

运行即可看见Logo页面的一个从暗淡到显示的变化

运行第1s

运行第2s

接下来继续编写代码LoadingState.cs

在unity场景02UIScene中创建一个button

命名为StartBtn

运行在Loading由隐至显后3秒钟跳转至UIScene场景

第一秒

第二秒

第五秒

编写代码

继续运行项目

点击button后进入GameScene场景

End.

相关推荐
2601_967979125 小时前
设计模式 - 访问者模式
设计模式·访问者模式·应用场景·对象结构·操作分离
寂寞的船7 小时前
【Unity知识速递】第5期 Unity 6.2 深度解析:AI Assistant 登场,World Space UI 与 Sentis 全面升级
人工智能·ui·unity
寂寞的船10 小时前
【Unity知识速递】第4期 MCP for Unity:用 AI 自然语言控制编辑器
人工智能·unity·编辑器
淡海水11 小时前
09-04-内存-Unity原生对象生命周期
unity·c#·游戏引擎·gc
寂寞的船12 小时前
【Unity知识速递】第6期 URP性能优化完全指南:从内存到GPU的三维调优
unity·性能优化·编辑器
是2的10次方啊14 小时前
设计模式与生活⑭:一栋楼,共用一份热
设计模式
吴可可12314 小时前
富怡CAD二次开发指南
c#
1-1=014 小时前
C# IO和序列化
c#·.net·.netcore
寂寞的船16 小时前
【Unity Bug挑战】第10期 SerializeReference 内存泄漏之谜
unity·c#·游戏引擎·bug
CSharp精选营16 小时前
从控制台到「会动手」的 AI:用 Semantic Kernel 搭应用(小白教程)
c#·.net·ai agent·semantickernel·functioncalling