プログラマメモ2 - programmer no memo2

スプラッシュ? 2012/04/21

なんか全然自信がないんですよね。
cocos2dです。
ゲームとかでスタートするときに1、2、3とかで使うやつをイメージしてつくってみました。 ひとつのスプライトがおわったら次をよぶという感じです。イメージファイルを文字列指定してスプライトを配列分つくる感じ。
ふー
どうだろう。 あと音素材は 音楽素材/魔王魂さんのものを使ってたりします。
グラフィックとか音とか、ゲームにはかかせない要素ですものね。


/* また微妙な気がするが使えるかな- */ - (void) splash:(int)cnt arr:(NSMutableArray*)arr finalBlock:(id)finalBlock{ CGSize size = [[CCDirector sharedDirector] winSize]; { // int max = [arr count]; if(!(cnt < max)){ // 最後に実行する CCNode *dummy = [CCNode node]; [self addChild:dummy]; id remove = [CCCallBlock actionWithBlock:(^{ [dummy removeFromParentAndCleanup:YES]; })]; id seq = [CCSequence actions:[CCDelayTime actionWithDuration:0], finalBlock, remove, nil]; [dummy runAction: seq]; return; } CCSprite *sprite = [CCSprite spriteWithFile:[arr objectAtIndex:(NSInteger)cnt]]; cnt = cnt + 1; sprite.position = ccp( size.width /2 , size.height/2 ); [self addChild:sprite]; { // アニメーション // 効果音 id sound = [CCCallBlock actionWithBlock:(^{ SimpleAudioEngine *audioEngine = [SimpleAudioEngine sharedEngine]; [audioEngine playEffect:@"se_maoudamashii_onepoint14.mp3"]; })]; id fadeto = [CCSpawn actions: [CCFadeTo actionWithDuration:1.0 opacity:0], nil]; id scaleBy = [CCScaleBy actionWithDuration:1.0f scale:3.0f]; id action = [CCSpawn actions:sound, fadeto, scaleBy, nil]; id ease = [CCEaseInOut actionWithAction:action rate:3.]; id remove = [CCCallBlock actionWithBlock:(^{ [sprite removeFromParentAndCleanup:YES]; [self splash:cnt arr:arr finalBlock:finalBlock]; })]; id seq = [CCSequence actions:[CCDelayTime actionWithDuration:0], ease, remove, nil]; [sprite runAction: seq]; } } }// end

: