Вместо объединения текстур вы можете создать узел и добавить к нему три спрайта в качестве дочерних. Затем вы можете работать с родительским узлом как с единым целым.
Что-то вроде:
CCNode *sprites = [CCNode node];
CCSprite *spriteA = [CCSprite spriteWithSpriteFrameName:@"spriteA.png"];
spriteA.position = ccp(-10, 0);
[sprites addChild:spriteA];
CCSprite *spriteB = [CCSprite spriteWithSpriteFrameName:@"spriteB.png"];
spriteB.position = ccp(0, 0);
[sprites addChild:spriteB];
CCSprite *spriteC = [CCSprite spriteWithSpriteFrameName:@"spriteC.png"];
spriteC.position = ccp(10, 0);
[sprites addChild:spriteC];
Вы можете масштабировать и позиционировать каждый отдельный спрайт в зависимости от ваших параметров, а затем работать с объектом sprites
для позиционирования / масштабирования их в целом.
Возможен небольшой скачок производительности, поэтому я подумал бы дважды, прежде чем использовать его для большого количества спрайтов, но я использовал этот метод в некоторых ситуациях, и в моем случае я не заметил никаких проблем с производительностью. .