Объекты Cocos2d, такие как CCLayer и CCSprite, закодированы как объекты автоматического освобождения.
Вы увидите, что метод 'node' выделяет и автоматически высвобождает объект при его создании.
Такие методы, как «spriteWithFile:» и «layerWithColor:», также закодированы с помощью автоматического освобождения.
Когда вы добавляете объект в качестве дочернего к слою или любому другому узлу по этому вопросу, он создает указатель на объектсохраняя это.Когда объект удаляется как дочерний, он освобождает себя.
Таким образом, когда вы перемещаетесь из Сцены в Сцену, удаляемая сцена освобождает своих детей (слои), а они, в свою очередь, своих детей (спрайты)..
http://www.cocos2d -iphone.org / wiki / doku.php / start
Единственное исключение - это когда вы создаете такой спрайт, как этот ..
CCSprite *mySprite = [CCSprite alloc] init];
Вы лично распределили и инициализировали этот спрайт, вы должны освободить его.
Если у вас включен CCLog, он выходит из системы при освобождении CCSprites.
Еще одна маленькая вещьСтоит отметить, что Сцена не освободит себя, если вы «нажмете» на сцену, только выдвинув и заменив причину сцены 1 для освобождения.