我是Cocos2d的新手。我将创建一个具有菜单(CClayer)的示例游戏,其中每个菜单项将CClayer作为子菜单添加到菜单层。现在我将设置图层作为子图层添加到菜单图层。当我选择设置图层时,菜单图层中检测到的触摸不在设置图层中。如何在菜单层中禁用CCMenu。
菜单层:其中包含CCMenu; 设置图层:还包含CCMenu;
帮助我,
答案 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中菜单项的触摸。