我有带有级别和两个按钮的 nsmutablearray。下一级,然后再试一次。当用户触摸下一个级别时,我设置了 objectAtIndex:indexCurrLevel+1 并且下一个级别正在加载没有问题。但是,如果用户再次触摸,我尝试将级别设置为 objectAtIndex:indexCurrLevel app crashed with children already added error。这太疯狂了,因为如果我为 ex 手动设置重试。objectAtIndex:5 可以完美运行,直到用户不玩 5 级,因为应用程序崩溃了。
对于与当前级别索引不同的索引,可以完美运行。(objectAtIndex:index - works) 手动设置索引的原因与使用索引相同。
[self removeFromParentAndCleanup:YES];
Levels *l = [levels2 objectAtIndex:index-1];
Game *hl = [[Game alloc]initWithObstacles:[l staticO] :[l rotateO]:[l lvl]:[l level]:[l pendulumO]:self.levelsArray];
[hl setLevels2:self.levels2];
[hl setBasketY:[l basketY]];
[hl setBasketX:[l basketX]];
[l release];
[[CCDirector sharedDirector] replaceScene:(CCScene*) hl];
[hl configureLevel];
[hl release];
Eroor:断言失败 -[Game addChild:z:tag:], ../libs/cocos2d/CCNode.m:388 2012-05-11 19:03:20.349 Game[932:10a03] * 由于未捕获而终止应用程序异常'NSInternalInconsistencyException',原因:'孩子已经添加。不能再次添加' *首先抛出调用堆栈: