Cocos2D禁用CCMenu

时间:2011-02-21 09:21:39

标签: cocos2d-iphone

我是Cocos2d的新手。我将创建一个具有菜单(CClayer)的示例游戏,其中每个菜单项将CClayer作为子菜单添加到菜单层。现在我将设置图层作为子图层添加到菜单图层。当我选择设置图层时,菜单图层中检测到的触摸不在设置图层中。如何在菜单层中禁用CCMenu。

菜单层:其中包含CCMenu; 设置图层:还包含CCMenu;

帮助我,

2 个答案:

答案 0 :(得分:9)

从没有代码的描述我只能告诉你这行代码..

MenuLayer.yourMenuObj.isTouchEnabled = NO;

答案 1 :(得分:2)

在我的MenuLayer(CCLayer)中,在Init方法

中声明了ccmenu
{
CCMenuItem *Play = [ CCMenuItemFont itemFromString:@"Level Select" target:self   
                                    selector:@selector(toPlay) ];

CCMenuItem *options = [ CCMenuItemFont itemFromString:@"Options" target:self  
                                                    selector:@selector(toSettings) ];

CCMenu  *mainMenu=[CCMenu menuWithItems:startGame,settings,nil];
    [mainMenu alignItemsVertically];
    mainMenu.position = ccp(240,160);
    [self addChild:mainMenu z:1];
}

-(void) toPlay
{
  OptionsLayer *tOptionsLayer=[OptionsLayer node];
  [self addChild:tOptionsLayer z:2];
}

当我触摸菜单中的“选项”时,它会将OptionsLayer显示为MenuLayer的子项。 OptionsLayer有菜单项,当我触摸OptionsLayer中的菜单项时,触摸Menulayer中的触摸。所以它再次显示了OptionsLayer。如何禁用MenuLayer中菜单项的触摸。