0
私は3つの画像(スプライト)を画面の中央から画面の中央にアニメーション表示しています。私は以下のコードを書いたが、それをより効率的にコーディングする方法があるのだろうかと思っていた。CCSpriteの効率的なアニメーション
-(void) displayMenu
{
CGSize screenSize = [[CCDirector sharedDirector] winSizeInPixels];
CCSprite* menuItemBottle = [CCSprite spriteWithFile:@"btn_i_have_norm.png"];
menuItemBottle.position = ccp((screenSize.width * 2), 600.0f);
menuItemBottle.contentSize = screenSize;
menuItemBottle.scale = 1;
[self addChild:menuItemBottle z:0 tag:4];
CCSprite* menuItemAdvert = [CCSprite spriteWithFile:@"btn_see-ad_norm.png"];
menuItemAdvert.position = ccp((screenSize.width * 2), 500.0f);
menuItemAdvert.contentSize = screenSize;
menuItemAdvert.scale = 1;
[self addChild:menuItemAdvert z:0 tag:5];
CCSprite* menuItemNoBottle = [CCSprite spriteWithFile:@"btn_dont-have_norm.png"];
menuItemNoBottle.position = ccp((screenSize.width * 2), 400.0f);
menuItemNoBottle.contentSize = screenSize;
menuItemNoBottle.scale = 1;
[self addChild:menuItemNoBottle z:0 tag:6];
CGPoint newPointBottle = CGPointMake(screenSize.width * 0.5f + 50, 600.0f);
CCMoveTo *moveBottle = [CCMoveTo actionWithDuration:0.7f position:newPointBottle];
CCSequence *sequenceBottle = [CCSequence actions:moveBottle, nil];
[menuItemBottle runAction:sequenceBottle];
CGPoint newPointAdvert = CGPointMake(screenSize.width * 0.5f + 50, 500.0f);
CCMoveTo *moveAdvert = [CCMoveTo actionWithDuration:0.7f position:newPointAdvert];
CCSequence *sequenceAdvert = [CCSequence actions:moveAdvert, nil];
[menuItemAdvert runAction:sequenceAdvert];
CGPoint newPointNoBottle = CGPointMake(screenSize.width * 0.5f + 50, 400.0f);
CCMoveTo *moveNoBottle = [CCMoveTo actionWithDuration:0.7f position:newPointNoBottle];
CCSequence *sequenceNoBottle = [CCSequence actions:moveNoBottle, nil];
[menuItemNoBottle runAction:sequenceNoBottle];
}
実行速度が速く、コードが少なく効率的ですが効率的ですか? – lins314159
コードが少なく、実行速度が速い場合は素晴らしいです! – daidai