如何使用cocos2d发布纹理图集?
我有以下代码
NSString *blue= = @"Blue.plist";
CCSpriteBatchNode *blueBatchNode = [CCSpriteBatchNode batchNodeWithFile:@"Blue.png"];
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:blue];
[self.parentScene addChild:blueBatchNode];
如何在光栅阶段释放这两个?
答案 0 :(得分:5)
[[CCSpriteFrameCache sharedSpriteFrameCache] removeSpriteFramesFromFile:@"Blue.plist"]
答案 1 :(得分:0)
大多数(如果不是所有)CCNode派生对象都是自动释放的。只要您使用便捷方法而不是分配init。
e.g。
CCSprite *sprite = [CCSprite spriteWithFrameName:@"blahblah"];
一旦你的CCLayer作为一个孩子移除了batchnode,它应该释放该对象,除非有某些东西链接到它,也许是没有被移除的孩子(但他们应该这样做)。
当发生这种情况时,如果没有将其删除,您还可以使用purgecacheddata清除纹理。
[[CCDirector sharedDirector] purgeCachedData];
清除缓存数据还会删除缓存的spriteframe,如上面的问题中所述。