0

ループに CCMenuItems を追加してから、EaseIn で画面上の CCMenu を移動します。各 CCMenuItem を単独で移動する方法はありますか?

CGSize winSize = [[CCDirector sharedDirector] winSize];
CCMenu *chapterMenu = [CCMenu menuWithItems: nil];
 for(int i =1; i<=5; i++){
    CCMenuItem *chapter = [CCMenuItemSprite itemFromNormalSprite:[CCSprite spriteWithFile:@"sprite.png" rect:CGRectMake(0, 0, 150, 210) selectedSprite:nil disabledSprite:nil target:self selector:@selector(OnPlay:)];
    chapter.tag = i;
    [chapterMenu addChild:chapter];
 }
 [chapterMenu alignItemsHorizontallyWithPadding:40];
 chapterMenu.position = ccp(chapterMenu.position.x, chapterMenu.position.y + winSize.height);
 id action = [CCMoveBy actionWithDuration:0.5f position:ccp(0, -winSize.height)];
 id ease = [CCEaseIn actionWithAction:action rate:1.5f];
 [chapterMenu runAction:ease];
 [self addChild:chapterMenu];
4

1 に答える 1

1

CCNode の単なるサブクラスであるだけでなく、個々のメニュー項目でアクションを実行できます。

それらの位置は、シーンではなく、CCMenu に対して相対的であることを覚えておいてください。

于 2012-10-23T05:06:55.753 に答える