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

相关推荐
Never_Satisfied1 小时前
在c#中,使用windows自带功能将文件夹打包为ZIP
开发语言·windows·c#
前端不太难2 小时前
Flutter 页面切换后为什么会“状态丢失”或“状态常驻”?
flutter·状态模式
Never_Satisfied3 小时前
在c#中,string.replace会替换所有满足条件的子字符串,如何只替换一次
开发语言·c#
淡海水4 小时前
【节点】[EvaluateRefractionData节点]原理解析与实际应用
unity·游戏引擎·shadergraph·data·图形·evaluate·refraction
J_liaty4 小时前
Java设计模式全解析:23种模式的理论与实践指南
java·设计模式
观无6 小时前
visionpro的dll导入
c#
Desirediscipline7 小时前
#define _CRT_SECURE_NO_WARNINGS 1
开发语言·数据结构·c++·算法·c#·github·visual studio
前端不太难7 小时前
从零写一个完整的原生鸿蒙 App
华为·状态模式·harmonyos
资深web全栈开发7 小时前
设计模式之观察者模式 (Observer Pattern)
观察者模式·设计模式
淡海水8 小时前
【节点】[EvaluateScatteringColor节点]原理解析与实际应用
unity·游戏引擎·shadergraph·color·图形·evaluate·scattering