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

相关推荐
光泽雨7 小时前
c#中的“跨界找人”
c#
UXbot8 小时前
一人独立交付 UI + 前端:AI 驱动 UI 设计工具的五大功能模块深度评测
前端·低代码·ui·设计模式·交互
垂葛酒肝汤8 小时前
Unity的UI扫光效果Shader
ui·unity·游戏引擎
yuan199978 小时前
基于 C# 实现的 Omron HostLink (FINS) 协议 PLC 通讯
开发语言·c#
火星papa10 小时前
C# 任务(Task)的基础实现
c#·任务·task
mxwin12 小时前
Unity Shader Alpha测试 · 模板测试 · 深度测试
unity·游戏引擎
烛阴12 小时前
Unity资源加载进化论:从AssetBundle到Addressables,一文带你吃透手游资源管理
前端·c#·unity3d
蜡笔小马12 小时前
07.C++设计模式-组合模式
c++·设计模式·组合模式
aini_lovee15 小时前
C#与倍福PLC(通过ADS协议)通信上位机源程序实现
开发语言·c#
Sator115 小时前
unity解决粒子与物体接触时的硬边缘问题
unity·游戏引擎