在我的游戏图层上添加精灵时,我遇到了问题。
当游戏开始时,它会初始化一个二维数组(我创建的)并在其中放入30个精灵(5列,6行)。它总是与我用于30个精灵的图像相同。
问题在于每次我创建一个新的精灵......
每3秒钟所有的精灵都会出现,而新的精灵会出现。我正在使用ARC但是当我检查仪器(分配部分)时,我可以看到生命精灵的数量每3秒增加30,60,90,120 ......
所以当我玩15分钟时,我的游戏崩溃了。如何在不创建新精灵的情况下使用相同的精灵?
我尝试在init方法中创建它,但是当我输入[self addChild:mysprite]时,它告诉我sprite已经添加了。
这是我的代码:
int yValue = 400;
for (int line = 0; line < nbLines; line++) {
int xValue = 32;
for (int section = 0; section < nbSection ; section++) {
MySprite *mySprite = [[MySprite alloc] initWithFile:@"mySprite.png"];
mySprite.position = ccp(xValue, yValue);
[gameTab setObject:mySprite :section :line];
[self addChild:mySprite];
xValue += 64;
}
yValue -= 64;
}
以下是我删除精灵的方法:
[gameTab removeChild:mySprite cleanup:YES];
[self removeChild:mySprite cleanup:YES];
我不知道ARC何时解除了我的精灵。
THX。