Cocos2dx - Singleton Class 範例

Cocos2dx - Singleton Class 範例

📅 ・ 約 1 分鐘閱讀

當系統中某項資源只有一個,而且絕對獨一無二時,最適合使用這個Pattern,也就是說使用這個Pattern可以確保物件個體只有一個,不會因programmer的疏忽而產生兩個或兩個以上。

Wiki - Singleton

  • Setter & Getter CC_SYNTHESIZE 參考寫法

  • Singleton.h

    class Singleton {
    public:
    static Singleton* getInstance();
    // 所需要透過Singleton存取的變數
    CC_SYNTHESIZE(string, email, Email);
    private:
    static Singleton* singleton;
    Singleton();
     };
  • Singleton.cpp

    Singleton* Singleton::singleton = nullptr;
    Singleton::Singleton() { }
    Singleton* Singleton::getInstance(){
    if (singleton == nullptr) singleton = new Singleton;
      return singleton;
    }
  • 用法

    Singleton::getInstance()->getEmail();
    Singleton::getInstance()->setEmail("email@gmail.com");

最後, 我們有個關於 Cocos2d-x 的Facebook社團, 如果有任何疑難問題, 歡迎到社團發問。

Cocos2dx Taiwan 開發者社團