cocos2d中的菜单层次结构

时间:2013-06-19 07:53:50

标签: iphone ios cocos2d-iphone

是否可以在CCMenu中组织按钮,以便它们像任何菜单一样运行?例如这个浏览器的文件,编辑,查看等。

我现在使用的是标准:

CCMenu *selectMenu = [CCMenu menuWithItems: item1, item2... nil];
[selectMenu alignItemsHorizontallyWithPadding:15];
CGSize winSize = [CCDirector sharedDirector].winSize;
CGPoint topLeft = CGPointMake(winSize.width / 2.0, winSize.height/1.035);
[selectMenu setPosition:topLeft];
[self addChild:selectMenu];

这是有效的,但我有太多的按钮要排成一行,所以这个问题。

1 个答案:

答案 0 :(得分:0)

这是可能的,但是当用户点击菜单项时你必须创建子菜单。

这样的事情:

CCMenu *menu = nil;

    CCMenuItem *item = [CCMenuItemFont itemWithString:@"Edit" block:^(id sender) {

        CCMenu *submenu = nil;

        CCMenuItem *subitem = [CCMenuItemFont itemWithString:@"SubItem" block:^(id sender) {
            //Do Stuff here
            [submenu removeFromParent];
        }];

        CCMenuItem *subitem2 = [CCMenuItemFont itemWithString:@"CloseSubMenu" block:^(id sender) {

            [submenu removeFromParent];
        }];

        submenu = [CCMenu menuWithItems:subitem,subitem2, nil];

        [menu addChild:submenu];

    } ];

    menu = [CCMenu menuWithItems:item, nil];

    [self addChild:menu];

你仍然需要设置位置以确保它在屏幕上看起来没问题。