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

相关推荐
kylezhao20191 小时前
C#手写串口助手
开发语言·c#
向宇it1 小时前
2025年技术总结 | 在Unity游戏开发路上的持续探索与沉淀
游戏·unity·c#·游戏引擎
Tan38513 小时前
如何在 OfficeAI 上配置 API Key(图文教程)
开发语言·人工智能·c#·api·教程·officeai
薛勇3 小时前
.net中如何选择async/await 和Task.Run?
c#·.net
剑之所向3 小时前
c# 中间表
开发语言·c#
Lv11770083 小时前
初识Visual Studio中的 WinForm
开发语言·ide·笔记·c#·visual studio
AscendKing4 小时前
java poi word首行插入文字
java·c#·word
bugcome_com4 小时前
深入解析 C# 中 abstract class 与 interface 的核心差异
c#
wuguan_5 小时前
C#:自走棋项目
c#·自走棋
PascalMing5 小时前
Pascal.Edge物联网平台:生产企业设备数据采集与管理解决方案
物联网·c#·vue·数据采集