2012-10-23 53 views
0

我在循環中添加CCMenuItems,然後在屏幕上使用EaseIn移動CCMenu。 有沒有辦法單獨移動每個CCMenuItem?CCMenu兒童過渡分割

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]; 

回答

1

您可以在各個菜單項上運行操作,以及它們只是CCNode的子類。

只要記住他們的位置將相對於CCMenu而不是你的場景。

+0

是的但我但我必須以不同的方式命名每個孩子。 有沒有更乾淨的方法來做到這一點? – iamruskie

+0

您可以循環播放CCMenu的子項並對每個子項應用操作。 –

+0

好的,但我怎麼能給循環添加一個延遲,所以每個動作都可以在下一個循環運行之前發生? – iamruskie