Выпуск текстурных атласов Cocos2d - PullRequest
0 голосов
/ 01 сентября 2011

Как выпустить атлас текстуры, используя cocos2d?

У меня есть следующий код

NSString *blue= = @"Blue.plist";
CCSpriteBatchNode *blueBatchNode = [CCSpriteBatchNode batchNodeWithFile:@"Blue.png"];
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:blue];
[self.parentScene addChild:blueBatchNode];

Как мне выпустить эти 2 на последнем этапе?

Ответы [ 2 ]

5 голосов
/ 01 сентября 2011
[[CCSpriteFrameCache sharedSpriteFrameCache] removeSpriteFramesFromFile:@"Blue.plist"]
0 голосов
/ 01 сентября 2011

Большинство, если не все производные от CCNode объекты автоматически освобождаются. Пока вы используете вспомогательные методы, не используйте init.

, например

CCSprite *sprite = [CCSprite spriteWithFrameName:@"blahblah"];

Как только ваш CCLayer удаляет пакетный узел как дочерний, он должен освободить этот объект, если с ним не связаны какие-то вещи, возможно, дети, которые не были удалены (но они должны это делать).

Если его не удалить, когда это произойдет, вы также можете использовать purgecacheddata для очистки текстур.

    [[CCDirector sharedDirector] purgeCachedData];

Очистка кэшированных данных также удаляет кэшированные спрайт-кадры, как упоминалось в вопросе выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...