将CCMenu与网格对齐

Tim*_*mbo 3 objective-c cocos2d-iphone

有没有人知道让CCMenuItems数组与网格对齐的最佳实践方法?这是一个cocos2d问题

例如 :

int levelCount = 10;

CCMenu *menuArray = [CCMenu menuWithItems:nil];

for (int x = 1; x<=levelCount; x++) {
    CCLOG(@"Creating level icon for Level %i", x);     
    [menuArray addChild:[CCMenuItemImage itemFromNormalImage:@"Button2n.png" 
                                               selectedImage:@"Button2s.png" 
                                                      target:self 
                                                    selector:@selector(onPlay:)]];

}

[menuArray alignToGridWouldbeGreat????!!!!];
[self addChild:menuArray];
Run Code Online (Sandbox Code Playgroud)

我可以垂直,水平,以列或行对齐,但不能包装列或行配置.

提前致谢!

Swi*_*ler 7

您只需调用重载的alignItemsInColumns或alignItemsInRows方法之一.例如,如果您有15个菜单项并且需要3行5列,请执行以下操作:

CCMenu* menu = [CCMenu menuWithItems:...];
NSNumber* itemsPerRow = [NSNumber numberWithInt:5];
[menu alignItemsInColumns:itemsPerRow, itemsPerRow, itemsPerRow, nil];
Run Code Online (Sandbox Code Playgroud)

唯一的缺点是在对齐网格时似乎没有办法设置填充.