В моей игре у меня есть серия аватаров, в настоящее время у каждого аватара есть небольшой прямоугольный контейнер, обозначающий, что это изображение является кнопкой, и на нее можно нажимать.
Однако я понял, что мне нужно изменить цвет контейнера, чтобы обозначить визуальный эффект (например, нажатие кнопки).
Например:
Неактивное состояние = серый контейнер. В состоянии = красный контейнер
Вместо того, чтобы повторять каждый аватар с включенным / выключенным состоянием, я бы хотел разделить контейнер и аватары, немного похоже на этот грубый рисунок;
+------+ +------+
| | | | O
| OFF | | ON | / \
| | | | ---
+------+ +------+
Таким образом, мы разделяем отключенный контейнер, включенный контейнер и аватары.
Затем в моей игре я хочу иметь возможность перестроить спрайт из слоев, которые я хочу использовать, кроме того, я хочу, чтобы вновь созданный спрайт действовал как единичный CCSprite, чтобы я мог правильно его расположить или делать другие вещи со спрайтом.
Сорт, как создание CCSprite из различных CCSprites, наложенных друг на друга.
Таким образом, как я могу наложить несколько спрайтов друг на друга, а затем создать CCSprite, используя многоуровневые CCSprites?
Спасибо.
/ Правка: добавлен код.
Я создал некоторый код с использованием CCLayer, а затем добавил свои спрайты как часть слоя.
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:
@"avatars.plist"];
CCSpriteBatchNode *spriteSheet = [CCSpriteBatchNode
batchNodeWithFile:@"avatars.png"];
[self addChild:spriteSheet];
CCSprite *empty = [CCSprite spriteWithSpriteFrameName:@"hold_empty.png"];
CCSprite *boss1 = [CCSprite spriteWithSpriteFrameName:@"hold_boss_1.png"];
CCLayer *holderExample = [[CCLayer alloc] init];
[holderExample setContentSize:CGSizeMake(70, 72)];
[holderExample setPosition:CGPointMake(100, 100)];
[holderExample addChild:empty];
[holderExample addChild:boss1];
[self addChild:holderExample];
Это похоже на слой с двумя спрайтами внутри. Это кажется правильным, но я не уверен, что это правильно, потому что я не уверен, смогу ли я сделать его кликабельным или обработать другие события.
Кроме того, я хочу добавить слой для цвета.
В Z-порядке:
1) -2 empty.png
2) -1 цветной слой
3) 0 аватар