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

相关推荐
xiaoshuaishuai88 小时前
C# 内存管理与资源泄漏
开发语言·c#
五阿哥永琪8 小时前
前后端跨域的解决办法
状态模式
z落落11 小时前
C#参数区别
java·算法·c#
影寂ldy11 小时前
C#随机数
开发语言·c#
雪豹阿伟12 小时前
11.C# —— 数组属性、高级方法与 Lambda 表达式
c#·上位机
唐青枫13 小时前
C#.NET YARP 服务发现实战:接入 Consul 和 Kubernetes 动态发现后端服务
c#·.net
largecode14 小时前
座机号码认证如何操作?申请热线实名名片,树立统一官方客服形象
linux·sql·华为·c#·.net·wpf·harmonyos
玉夏14 小时前
【Shader基础】ShaderLab 语法
unity·游戏引擎
小满Autumn16 小时前
WPF 入门:XAML 语法、布局与数据绑定
microsoft·c#·.net·wpf
曹牧17 小时前
LINQ:Select
c#·linq