【cocos2dx】シングルトンを利用する

ゲームを作っていると、どうしても他のクラスのメソッドを呼び出したくなります。 そうした場合に利用できるのが、「シングルトン」です。

これを使えば、簡単に他のクラスからメソッドを呼び出せます。

シングルトンパターン

準備

新しくクラスを作成した後に、以下の用に実装すれば「シングルトン」として利用ができます。 [c]

//ヘッダー内 static MainLayer * sharedMainLayer();

[/c]

[c]

//中身 static MainLayer* instanceOfGameScene;

MainLayer *MainLayer::sharedMainLayer(){

return instanceOfGameScene;

}

bool MainLayer::init() { if ( !CCLayer::init() ) { return false; }

//シングルトン
instanceOfGameScene = this;


return true;

}

[/c]

実際に利用する

後はシングルトンを使ってクラスを呼び出してあげるだけです。

[c]

//例 MainLayer *layer = MainLayer::sharedMainLayer(); layer->showWindow();

[/c]

非常に簡単に利用ができます。