cocos2D单例

    单例(singleton) 是一个很易于理解的概念。在 Cocos2d-x 引擎中,我们能看到大量单例的身影,
它们大部分出现在一些系统资源管理类中。单例模式保证了全局有且只有一个实例对象,保证自动地初始化该对象,使得
程序在任何时候任何地方都可以访问、获取该对象。
例如,Cocos2d-x 的游戏流程控制器 CCDirector 是一个独一无二的控制器,用于切换游戏场景。换句话说,不可能同时存
在两个 CCDirector 实例。
在这种情况下, Cocos2d-x 采用了单例的技巧。用户可以通过类提供的静态方法获取独一无二的实例,而不需要自己来创建。
观察 CCDirector 的代码:

static CCDisplayLinkDirector s_SharedDirector;  
  CCDirector* CCDirector::sharedDirector(void)  
  {  
      static bool s_bFirstUseDirector = true;  
      if (s_bFirstUseDirector)  
      {  
          s_bFirstUseDirector = false;  
          s_SharedDirector.init();  
      }  
      return &s_SharedDirector;  
  } 
  可以发现,CCDirector 维护了一个静态的 CCDirector 实例,在第一次使用前初始化。为了访问 CCDirector 控制器,我们
可以使用如下代码:
  CCDirector::sharedDirector()->replaceScene(newScene);

原文地址:https://www.cnblogs.com/Star9527/p/3404144.html