ゲームを作っていると、どうしても他のクラスのメソッドを呼び出したくなります。 そうした場合に利用できるのが、「シングルトン」です。
これを使えば、簡単に他のクラスからメソッドを呼び出せます。
準備
新しくクラスを作成した後に、以下の用に実装すれば「シングルトン」として利用ができます。 [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]
非常に簡単に利用ができます。