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

相关推荐
未来之窗软件服务8 小时前
幽冥大陆(四十一)美萍V10酒店门锁SDK C#语言仙盟插件——东方仙盟筑基期
开发语言·c#·仙盟创梦ide·东方仙盟·东方仙盟sdk·酒店智能门锁·东方仙盟 vos 智能浏览器
qq_205279059 小时前
Unity log工具 Unity Logviewer插件
unity·游戏引擎
蓝瑟10 小时前
告别重复造轮子!业务组件多场景复用实战指南
前端·javascript·设计模式
tealcwu12 小时前
【Unity实战】如何使用VS Code在真实iOS设备上调试 Unity应用
unity·游戏引擎·iphone
Arva .12 小时前
讲一下 Spring 中用到的设计模式
java·spring·设计模式
用户83562907805113 小时前
Word 图表自动化:基于 C# 的高效数据可视化方案
后端·c#
繁华似锦respect14 小时前
lambda表达式中的循环引用问题详解
java·开发语言·c++·单例模式·设计模式·哈希算法·散列表
wangnaisheng15 小时前
【C#】MQTT的使用
c#
冰凌糕17 小时前
Unity3D Shader 顶点和片段着色器
unity
星月IWJ17 小时前
领域驱动设计学习
java·学习·设计模式