(2-1)Unity3D/设计模式:状态模式(State)
来源:互联网 发布:服务器网卡聚合linux 编辑:程序博客网 时间:2024/05/20 03:39
该篇博客暂未写完,请勿继续查看!
1.目的:用状态模式实现游戏场景的转换。
在Unity3D中,有着场景(Scene)的概念(例如不同的关卡,就可以设计为不同的场景),而游戏在同一时刻,只会在一个场景中运行,那么我们就可以把不同的场景看作是不同的状态,即一个场景用一个场景类来表示,每个场景类负责实现该场景特有的逻辑。这时就可以用状态模式的转换原理,来实现游戏场景的转换。
2.实现:
2.1 定义场景类的接口(ISceneState.cs)
(2.1.1)既然一个场景要用一个场景类来表示,就有很多场景类,它们拥有共同需要执行的方法,而且在状态转换时满足多态的特性,那么首先就要定义一个场景类的接口,让所有场景类继承自该接口,并要求各个场景类实现接口定义的方法。
(2.1.2)编写ISceneState.cs脚本代码如下:
2.1 编写游戏循环脚本(GameLoop.cs)
(2.1.1)在开始场景(StartScene)中创建一个空的GameObject并更名为GameLoop。
(2.1.2)创建一个C#脚本文件,命名为GameLoop.cs,并将其挂载到GameLoop游戏对象上。
(2.1.3)编写GameLoop.cs脚本代码如下:
public class GameLoop : MonoBehaviour { SceneStateController sceneStateController = new SceneStateController (); void Awake () { //切换场景时该游戏对象不会被销毁 GameObject.DontDestroyOnLoad (this); } void Start () { } void Update () { }}
(2.1.4)GameLoop.cs继承自MonoBehaviour,目的是依赖于Unity3D定时自动调用的Update ()方法来实现游戏循环,所以我们可以在Update ()方法中实现玩家输入和游戏逻辑定时更新。
(2.1.5)GameLoop.cs中主要持有了SceneStateController类对象,
阅读全文
0 0
- (2-1)Unity3D/设计模式:状态模式(State)
- 设计模式----State(状态)
- 设计模式之State(状态模式)
- 设计模式 (十六)状态模式(State)
- 【设计模式】之状态模式(State)
- java设计模式-状态模式(State)
- 设计模式之状态模式(State)
- 设计模式(16):状态模式 State
- 设计模式之状态模式(STATE)
- 设计模式之(State)状态模式
- Java设计模式----状态模式(State)
- 设计模式-状态模式(state)
- 设计模式:状态模式(State)
- 设计模式:状态模式(State)
- 设计模式(20)-状态模式(State)
- 设计模式-状态模式(State)
- 设计模式之状态模式(State)
- 【设计模式】状态模式(State Pattern)
- Codeforces 459D Pashmak and Parmida's problem【树状数组】
- linux下的crond和crontab用法
- 文章标题 POJ 2559 : Largest Rectangle in a Histogram (单调栈)
- 设计模式之设计六大原则
- JAVAEE分层开发模式
- (2-1)Unity3D/设计模式:状态模式(State)
- 关于MyEclipse的SVN插件(Subclipse)历史版本乱码的问题
- Jenkins根据svn版本号进行构建
- JAVA学习笔记——泛型
- 原码, 反码, 补码 详解
- Java---join()方法的作用
- linux下使用CRF++结合java做的命名实体识别demo
- 删除myeclipse注册表
- ReactNative导航