Cocos2D я должен использовать одно изображение на спрайт - PullRequest
2 голосов
/ 25 декабря 2010

Если у меня на экране несколько идентичных спрайтов одновременно, нужно ли загружать по одному изображению для каждого из спрайтов или я могу просто как-то повторно использовать изображения?

т.е.,

Нужно ли это делать?

CCSprite *mySprite1 = [CCSprite spriteWithFile:@"mySprite.png"];
CCSprite *mySprite2 = [CCSprite spriteWithFile:@"mySprite.png"];

Или есть лучший способ борьбы с идентичными спрайтами?

Ответы [ 2 ]

5 голосов
/ 26 декабря 2010

Ваше решение в порядке.Первый вызов spriteWithFile: загрузит текстуру и добавит ее в общий CCTextureCache.Второй проверит, существует ли уже текстура, и на этот раз повторно использует ее из первой.

0 голосов
/ 25 декабря 2010

Вы должны использовать

- (id)initWithCGImage:(CGImageRef)image
                  key:(NSString *)key   

Ссылка

Этот метод использует изображение или кэшированную текстуру, названную ключом. Если кешированная текстура с этим ключом недоступна, она создаст текстуру и кеширует ее для вас.

...