zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    机械学习--5
    机械学习--4
    机械学习--3
    机械学习--2
    机器学习--1
    编译原理 作业十五
    编译原理 作业十四
    编译原理 作业十二
    编译原理 作业十一
    编译原理 作业十
  • 原文地址:https://www.cnblogs.com/Star9527/p/3404144.html
Copyright © 2011-2022 走看看