2011-09-01 5 views
0

어떻게 cocos2d를 사용하여 텍스처 아틀라스를 출시하나요?Cocos2d 텍스처 아틀라스를 해제

나는

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

은 어떻게 laster 단계에서 이러한 2를 다음과 같은 코드를 공개 할습니까?

답변

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

음 아무 것도 편집 할 수 없으므로 완전히 끝내지 않는 코드가 있음을 유의하십시오. –

+0

고맙다 Aaron. 나는 그것을 고쳤다. –

0

대부분의 경우 CCNode에서 파생 된 개체가 자동으로 출시되는 것은 아닙니다. init을 할당하지 않는 편리한 메소드를 사용하는 한.

당신의 CCLayer 아이로 batchnode을 제거하면 아마도, 제거되지 않은 아이들이 그것에 연결 어떻게 든 몇 가지 사항이없는 한

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

, 그것은, 그 객체를 해제해야합니다 (그러나 그들은해야한다).

그런 일이 발생하면 삭제되지 않으므로 purgecacheddata를 사용하여 텍스처를 지울 수도 있습니다.

캐시 된 데이터를 제거하면 위 질문에서 언급 한 것처럼 캐시 된 스프라이트 프레임도 제거됩니다.