使用大量精灵时重复使用精灵

时间:2013-05-24 14:31:37

标签: objective-c ios6 cocos2d-iphone automatic-ref-counting sprite

在我的游戏图层上添加精灵时,我遇到了问题。

当游戏开始时,它会初始化一个二维数组(我创建的)并在其中放入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。

0 个答案:

没有答案