スプラッシュ?
2012/04/21
cocos2d
ios
なんか全然自信がないんですよね。
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
: