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

相关推荐
脚踏实地皮皮晨8 小时前
002002002_DepandencyObject类2
开发语言·windows·算法·c#·visual studio
YUS云生9 小时前
大模型学习·第41天:LangChain进阶——提示词模板与Chain链式调用
学习·langchain·c#
SunnyDays101111 小时前
C# 加密和解密 PDF:设置密码、AES 加密及操作权限
pdf·c#·加密 pdf·解除 pdf 密码·pdf 权限设置·pdf 文档安全
一水12 小时前
TTFT优化:一个方案的5次推倒重来
java·ai·状态模式
啦啦啦啦啦zzzz12 小时前
设计模式:单例模式和工厂模式
c++·单例模式·设计模式·工厂模式
布鲁飞丝12 小时前
对 .NET线程 异常退出引发程序崩溃的反思
数据库·c#·.net
SamChan9013 小时前
WebSocket实现PDF翻译进度实时推送:Go后端+React前端的完整方案
前端·websocket·pdf·c#·react·机器翻译
geovindu13 小时前
CSharp: LogHelper
开发语言·后端·c#·.net
caishenzhibiao13 小时前
顺势捕猎者副图 同花顺期货通指标
java·c语言·c#
小白说大模型15 小时前
Python 工程化设计模式:AI 项目中的异步流水线与策略模式实战
人工智能·python·设计模式