我们怎么知道我们已经释放了记忆

时间:2011-01-04 11:16:15

标签: cocos2d-iphone

我已经创建了两个级别的游戏。现在当我们处于第一级时,我创建了用于动画的精灵表和许多精灵。在达到某个分数时,我现在转到第2级,这里是另一个精灵表和一个很多变数。

当我从1级转到2级时使用。

[[CCDirector sharedDirector] pushScene:[Level2 node]];

当我在第2级输掉时,我会使用

回到第1级

[[CCDirector sharedDirector] pushScene:[Level1 node]];

我在1级之前创建的精灵表和其他精灵会发生什么?如果我重试1级将自动删除之前创建的精灵表和精灵?或者它们是否会存在于这个新场景中?

请清楚我这些问题因为不了解这个问题而我遇到了很多麻烦。

提前谢谢.. :(

1 个答案:

答案 0 :(得分:0)

在cocos2d中,几乎所有东西都被标记为自动释放。因此,当您创建新场景时,它不会被释放,因为它成为主场景。一旦它不再是主场景,如果你没有专门保留它,那么它将被释放。

如果您在上面说明,我相信两个场景都会被保留,因为您正在使用导演就像堆栈一样,将场景推到一起。如果您永远不需要返回到1级,则可以使用CCDirector的replaceScene:方法来释放1级。

拥有自定义暂停场景或奖励回合可能是何时使用pushScene:来电的一个很好的示例。