2011-09-01 61 views
0

如何使用cocos2d發佈紋理地圖集?發佈Cocos2d紋理地圖集

我有以下代碼

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

如何在拉斯特階段釋放這些2?

回答

5
[[CCSpriteFrameCache sharedSpriteFrameCache] removeSpriteFramesFromFile:@"Blue.plist"] 
+0

嗯我不能編輯一個多餘的字符,所以請注意,有一個完全不需要的>接近該代碼的結尾。 –

+0

謝謝Aaron。我修好了它。 –

0

大多數(如果不是全部)CCNode派生的對象是自動釋放的。只要你使用便捷方法不要alloc init。

例如

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

一旦你的CCLayer刪除batchnode作爲一個孩子,就應該釋放的對象,除非有一些莫名其妙的東西鏈接到它,或許沒有得到帶走的兒童(但他們應該做的)。

發生這種情況時如果未能將其刪除,您還可以使用purgecacheddata清除紋理。

[[CCDirector sharedDirector] purgeCachedData]; 

清除緩存的數據還會刪除上述問題中提到的緩存的spriteframes。