読者です 読者をやめる 読者になる 読者になる

夏までにiPhone アプリつくってみっか!

趣味でiPhone/Androidアプリを開発し、日々勉強した事を書いています。オープンワールド系レースゲームをUnityで開発中です。

【cocos2d】cocos2dのタイトル画面をオリジナルのスプラッシュとタイトルに変えてみた

cocos2d

毎回ゲームを起動するたびにcocos2dのスプラッシュとタイトル画面が表示されるのにも飽きてきたので、そろそろオリジナルの物に変更したいと思います。
スプラッシュ画面は起動したときに表示される例のやつです。
f:id:takujidev:20130424214411p:plain
これです。縦画面のゲームでも横向きに表示されるのが少し気になるので、恐縮ですが入れ替えさせていただきます。
なので、縦持ち用のオリジナルのスプラッシュ画面を作りました。これです。
f:id:takujidev:20130424223953p:plain
ぜんぜん格好良くないですね。
スプラッシュ画面を入れ替えるのは簡単で、使いたい画像のファイル名をDefault.pngにしてプロジェクトにあるDefault.pngと入れ替えるだけです。

次に、タイトル画面をオリジナルに変更します。
タイトルを表示する処理はテンプレートに含まれているintroLayer.mというファイルに記述されています。シーン切り替え時に自動的に呼ばれるonEnterメソッドでタイトル画像を設定しています。テンプレートのDefault.pngファイルを参照しています。別のファイル名を指定すればそのファイルを表示します。
せっかくなのでちょっとプログラムに手を入れて、画面をタップしたらゲームがスタートするように変えてみました。

- (void)onEnter
{
	[super onEnter];

	CGSize size = [[CCDirector sharedDirector] winSize];

	CCSprite* background = [CCSprite spriteWithFile:@"title.png"];
	background.position = ccp(size.width/2, size.height/2);
	[self addChild:background z:0];
    
    CCLabelTTF* label = [CCLabelTTF labelWithString:@"TAP TO START" fontName:@"arial" fontSize:20.0];
    label.position = ccp(size.width/2, size.height/2);
    [self addChild:label z:1];
    
    self.isTouchEnabled = YES;
}

- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
  	[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:0.5 scene:[GameScene scene] withColor:ccWHITE]];
}

それでは、今回のプログラムの実行時の動画をご覧ください。