【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 小时前
Effective Modern C++ 条款40:深入理解 Atomic 与 Volatile 的多线程语义
开发语言·c++·学习·算法·设计模式·架构
cgsthtm3 小时前
使用c#oracle19c和sqlsugar实现erp单据新增时单据编号自增
c#·sqlsugar·oracle19c·单据编号自增·erp单据编号
游乐码3 小时前
c#里氏替换
开发语言·c#
未来之窗软件服务3 小时前
AI人工智能(十二)C# 运行sensevoice onnx—东方仙盟练气期
开发语言·人工智能·c#·仙盟创梦ide·东方仙盟
bugcome_com3 小时前
深入理解 C# 结构体(Struct):原理、对比与最佳实践
c#
游乐码4 小时前
c#继承中的构造函数
开发语言·c#
九狼4 小时前
Riverpod 2.0 代码生成与依赖注入
flutter·设计模式·github
geovindu5 小时前
python: Visitor Pattern
python·设计模式·访问者模式
五阿哥永琪6 小时前
常见设计模式简介
设计模式