CCScene シーン


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へ移動するようになります。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です