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

相关推荐
LongtengGensSupreme1 小时前
C# 中监听 IPv6 回环地址----HttpListener
c#·ipv6·httplistener
漂洋过海的鱼儿3 小时前
设计模式——EIT构型(三)
java·网络·设计模式
zzcufo3 小时前
多邻国学习笔记第五阶段第10-11部分
笔记·学习·c#
easyboot9 小时前
C#使用pythonnet简单示例
开发语言·python·c#
刘欣的博客10 小时前
c# winform 控件dock 停造位置、摆放顺序问题
c#·winform·dock停靠问题
老蒋每日coding11 小时前
AI Agent 设计模式系列(十八)—— 安全模式
人工智能·安全·设计模式
apolloyhl11 小时前
State 状态模式
状态模式
timathy3311 小时前
Unity Addressable 实现Build时自定义剔除资源组
unity·游戏引擎
Java程序员威哥11 小时前
Arthas+IDEA实战:Java线上问题排查完整流程(Spring Boot项目落地)
java·开发语言·spring boot·python·c#·intellij-idea
easyboot13 小时前
C#通过sqlsugar插入数据到postgresql
开发语言·c#