【发布时间】:2010-10-08 20:32:12
【问题描述】:
我对以下代码有疑问。
mySpriteArray=[[NSMutableArray alloc] 初始化];
star=[CCSprite spriteWithFile:@"22.png"];
for(int i=0;i<10; i++)
{
[mySpriteArray insertObject:star atIndex:i];
}
// NSLog(@"x=%i",[mySpriteArray count]);
for (int i=0; i<10; i++) // Opponents is NSMutableArray
{
CCSprite *tempSprite = (CCSprite *) [mySpriteArray objectAtIndex:i];
tempSprite.position=ccp(100,100);
[self addChild:tempSprite];
}
} 其中star是CCSprite的一个对象,mySpriteArray是一个可变数组。问题是当我运行程序时它会崩溃并说
* -[GameScene addChild:z:tag:] 中的断言失败,/Users/salimsazzad/Desktop/balon hunter/libs/cocos2d/CCNode.m:305 2010-10-08 19:05:35.854 balon Hunter[3967:207] * 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“已添加子项。无法再次添加”。
我不明白出了什么问题,我要添加 10 个对象,而不是 10 次添加 1 个对象,因为 CCSprite *tempSprite = (CCSprite *) [mySpriteArray objectAtIndex:i];每次都创建一个新对象。 那是什么问题???
【问题讨论】:
标签: cocos2d-iphone