【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.

相关推荐
czhc11400756633 分钟前
2026-08-25 博客:现场排查的 8 个坑
c#
电子科技圈23 分钟前
IAR与东软睿驰达成战略合作,强化软件开发效率与生态协作
设计模式·开源·软件工程·软件构建·代码规范·设计规范·代码复审
Z5998178411 小时前
c#软件开发学习笔记--WPF(控件、样式)
笔记·学习·c#
格林威1 小时前
C#高位深相机图像保存:12位16位图像保存方案,OpenCvSharp和Halcon实现
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
吴声子夜歌1 小时前
Java面试——设计模式(四)
java·设计模式·面试
听风吹等浪起1 小时前
004:多个PDF合并成一个PDF【网页版】
pdf·状态模式
雪隐1 小时前
WPF + MVVM 实战系列03-MVVM 的边界之争,终于有人画了条“差不多”的线
c#
影寂ldy1 小时前
C# WinForm TCP聊天室(服务端+客户端)
windows·tcp/ip·c#
千码君20161 小时前
应用市场V1.0 普通用户 注销账户的业务逻辑
状态模式
WarPigs2 小时前
Unity未激活的物体无法响应事件?
java·unity·游戏引擎