我得到了这个场景我的概述,在这个场景中我添加了self作为图层和MainMenu图层。
概览图层显示有关播放器的一些统计信息,菜单图层显示在顶部。现在当玩家点击菜单中的菜单点时,我想用另一层更改概览层。
但问题是,我似乎无法从MainMenu类中删除overviewscene图层,这是否可能?
:: Update ::
我相信我的尝试,让我打印一些代码。这来自我的MainMenuLayer
CCMenuItemFont menu_overview = [CCMenuItemFont itemFromString:@"Overview" target:self.parent selector:@selector(test)];
父级将是我的overviewScene,因为这个图层被添加到我的那个类中了吗?
来自overviewScene
-(void)test {
// CCScene *scene =[[CCDirector sharedDirector] runningScene];
// CCLayer *parentz = (CCLayer) self.parent;
//[[scene removeChild: cleanup:YES];
[[OverviewScene node] removeFromParentAndCleanup:YES];
}
答案 0 :(得分:0)
执行此操作的正确方法是让父级场景具有“概览”,要显示的新图层以及添加为“子图层”的“MainMenu”图层。这样你就可以做到:
[self removeChild:overviewLayer]; // overviewLayer is a reference to overview layer
[self addChild:otherLayer tag:kYourTag z:yourZValue]; // otherLayer is the new layer you want added, mind the z index
只要保持每个图层的z索引设置正确以维持层次结构,这将解决您的问题。