【Unity3D与23种设计模式】游戏的主循环——Game Loop

 

 

游戏与其他软件最大的不同

就是游戏有Update逻辑

 

一般的软件是由“事件”驱动

因为它不会突然跑出来一只“兔子”

因此,只有游戏才有“帧”的概念

(没秒多少帧,就是没秒Update执行多少次)

 

Unity有自己的生命周期

Awake,Start,Update…

只要继承MonoBehaviour就可以启用此生命周期

完整的生命周期请参看我以前写的博客http://www.cnblogs.com/fws94/p/6372557.html

 

虽然继承MonoBehaviour可以达到定期更新的目的

但这样一来,“单一的游戏功能”类就与Unity3D有了依赖关系

换句话说,如果你以后想换别的引擎,事情就会变得很麻烦

 

所以,可以只创建一个类,这个类继承MonoBehaviour,其他类不继承MonoBehaviour

其他需要使用生命周期的方法

在此类中调用

如:

public void Start(){

    game.Instance.Start();

    UI.Instance.Start();

}

public void Update(){

    game.Instance.Update();

    UI.Instance.Update();

}

posted on 2017-07-18 15:10  Lumious  阅读(1013)  评论(0编辑  收藏  举报

导航