2012-06-12 4 views
0

я это заявил в своем главном классе:Cocos2D - обновление кэша кадров?

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"atlas.plist"]; 
CCSpriteBatchNode *batchNode = [CCSpriteBatchNode batchNodeWithFile:@"atlas.png"]; 

теперь я на другой класс, и я хочу, чтобы создать новый batchNode но получить spriteFrames из атласа, который был объявлен в главном классе. Как мне это сделать? Нужно ли снова вводить эти же строки в мой другой класс? Поступая таким образом, у меня будут избыточные изображения, импортированные в sharedSpriteFrameCache? Моя идея - сохранить память, а не потратить впустую.

Любые подсказки? Благодарю.

ответ

1

Вам необязательно звонить [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"atlas.plist"];, если вы не удалили эти кадры спрайтов.

Вам нужно будет создать еще один пакетный узел для размещения спрайтов.

Если вы снова попытаетесь добавить кадры спрайта в кэш, вы не потеряете пространство, кадры спрайтов будут добавлены только один раз, но вы будете тратить время, пока cocos2D анализирует файл и определяет, кадр спрайта уже был добавлен.

+0

Спасибо. Это то, что мне нужно! – SpaceDog

Смежные вопросы