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

相关推荐
张老师带你学2 小时前
unity TerrainSampleAssets
科技·游戏·unity·游戏引擎·模型
csdn_aspnet2 小时前
C# (QuickSort using Random Pivoting)使用随机枢轴的快速排序
数据结构·算法·c#·排序算法
RReality5 小时前
【Unity Shader URP】色带渐变着色(Ramp Shading)实战教程
ui·unity·游戏引擎·图形渲染
游乐码8 小时前
c#lambad表达式
开发语言·c#
一念春风10 小时前
Qwen2.5 (AI模型 PC搭建)
人工智能·ai·c#·wpf·模型
前端不太难10 小时前
从 OpenClaw 到端侧 AI:低算力智能体架构设计
人工智能·状态模式
绿豆人10 小时前
Go设计模式学习
学习·设计模式·golang
阿珊和她的猫11 小时前
使用 TypeScript 实现数组类型判断方法
javascript·typescript·状态模式
~plus~11 小时前
C# 事件溯源与 CQRS 架构:用 EventStoreDB 打造可靠系统
开发语言·架构·c#
aq553560012 小时前
Laravel7.x重磅升级:十大新特性解析
开发语言·汇编·c#·html