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

相关推荐
茶本无香17 分钟前
设计模式之二—原型模式:灵活的对象克隆机制
java·设计模式·原型模式
为自己_带盐34 分钟前
在 Blazor Server 中集成 docx-preview.js 实现高保真 Word 预览
javascript·c#·word
绀目澄清34 分钟前
Unity3D AI导航系统完全指南:从核心概念到动画耦合
人工智能·unity
GISer_Jing39 分钟前
Nano Banana+LoveArt三大核心功能解析:重构AI设计全链路,让创意落地更高效
人工智能·设计模式·aigc
__water40 分钟前
RHK《模型贴图自由更换位置》
unity·贴图·模型贴图·移动不丢失
JIes__1 小时前
Unity(二)——3D数学
unity·游戏引擎
jinmo_C++1 小时前
从零开始学前端 · HTML 基础篇(一):认识 HTML 与页面结构
前端·html·状态模式
淡海水1 小时前
【节点】[RandomRange节点]原理解析与实际应用
unity·游戏引擎·shadergraph·图形·randomrange
hixiong1231 小时前
C# OpenvinoSharp部署DDDDOCR验证码识别模型
opencv·c#·ocr·openvino
会员果汁2 小时前
14.设计模式-备忘录模式
设计模式·备忘录模式