Добавление нескольких спрайт-листов в cocos2d - PullRequest
0 голосов
/ 02 октября 2011

У меня есть следующий код для настройки моих спрайт-листов и пакетного узла:

    CGSize screenSize = [[CCDirector sharedDirector] winSize];
    [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"soldier-test.plist"];
    [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"soldier-running.plist"];

    batchNode = [CCSpriteBatchNode batchNodeWithFile:@"soldier-test.png"];

    self.player = [Player spriteWithSpriteFrameName:@"shooting s0000.bmp"];
    [batchNode addChild:self.player];

    [player setPosition:ccp(screenSize.width/2, screenSize.height/2)];

    [self addChild:batchNode];

Однако, когда я пытаюсь, чтобы player (подкласс CCSprite) выполнил действие, используя фреймы из второй спрайт-таблицы,Я получаю ошибки утверждения, связанные с файлами текстур.Нужно ли объединять листы в один или есть способ разделить один CCSprite по нескольким спрайт-листам?

1 Ответ

2 голосов
/ 02 октября 2011

SpriteBatchNode может иметь только дочерние элементы, которые используют одну и ту же текстуру.Ваш игрок должен использовать текстуру soldier-test.png, если вы хотите добавить его в свой batchNode.

С помощью TextureAtlas вы можете поместить несколько разных текстур в одно большое изображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...