CCSceneはAppDelegateで生成されて、ほかのページに移るときはreplaceSceneを使って置き換えが行われます。
IntroLayerにreplaceSceneの書き方が書いてあるのでそれを参考にするとわかりやすいです。
シーンの追加
新しくシーンを追加するときはXcodeから
File > New > File > cocos2d > CCNodeClass > CCLayer > Class名
のような手順で追加します。
例えばTestSceneという名前のシーンを追加したとすると
+(CCScene *) scene
{
// 'scene' is an autorelease object.
CCScene *scene = [CCScene node];
// 'layer' is an autorelease object.
TestScene *layer = [TestScene node];
// add layer as a child to scene
[scene addChild: layer];
// return the scene
return scene;
}
と書いて、ヘッダにも呼び出すように記述しておきます
+(CCScene *) scene;
つぎにinitメソッドを書きます
// on "init" you need to initialize your instance
-(id) init
{
// always call "super" init
// Apple recommends to re-assign "self" with the "super's" return value
if( (self=[super init]) ) {
CCLOG(@"This is new Scene");
}
return self;
}
これでこのシーンが呼び出されればThis is new Scneneとコンソールに表示されます。
シーンの呼び出し
呼び出しはIntroLayerを参考にしてreplaceSceneを呼び出します
[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[TestScene scene] withColor:ccWHITE]];
ほかのシーンからreplaceSceneが呼ばれると、TestSceneへ移動するようになります。