Вы не можете повторно использовать один и тот же экземпляр CCSprite. Однако вы можете повторно использовать текстуру, которую Cocos2D делает автоматически для вас.
Вы можете создать несколько спрайтов, используя один и тот же файл изображения или фрейм спрайта. Например, это создаст 100 кирпичных спрайтов и даст каждому уникальный тег от 0 до 99:
for (int i = 0; i < 100; i++)
{
CCSprite* brick = [CCSprite spriteWithFile:@"brick.png"];
[self addChild:brick z:0 tag:i];
}
Все спрайты, использующие файл изображения "brick.png", будут использовать одну и ту же текстуру в памяти. CCTextureCache кэширует каждый загруженный файл изображения, так что использование дополнительной памяти для каждого CCSprite близко к 500 байтам (я проверял это один раз во время выполнения Objective C). Это означает, что тысяча спрайтов, использующих одну и ту же текстуру, будет использовать около 500 КБ плюс объем памяти, используемый текстурой.