Файл Spritebuilder не найден при создании CCtexture, но работает при создании CCsprite?

В своей игре я изначально создаю спрайты, используя этот код:

- (void)addSpritesForCookies:(NSSet *)cookies {
    for (BBQCookie *cookie in cookies) {
        NSString *directory = [NSString stringWithFormat:@"sprites/%@.png", [cookie spriteName]];
        CCSprite *sprite = [CCSprite spriteWithImageNamed:directory];
        sprite.position = [self pointForColumn:cookie.column row:cookie.row];
        [self.cookiesLayer addChild:sprite];
        cookie.sprite = sprite;
    }
}

Это прекрасно работает, и спрайты отображаются правильно. Все текстуры, которые мне нужны, находятся в смарт-листе спрайтов, который я создал в spritebuilder. Вот скриншот структуры в Spritebuilder, так как у меня недостаточно репутации, чтобы размещать изображения здесь: https://www.evernote.com/shard/s30/sh/e1ea553f-a26c-4ecd-866b-551b50f14bd7/cc338cde5ac5ea3e557

Позже мне нужно изменить текстуру некоторых спрайтов. Я использую следующий код:

CCActionCallBlock *changeSprite = [CCActionCallBlock actionWithBlock:^{
            NSString *directory = [NSString stringWithFormat:@"sprites/%@.png", [combo.cookieB spriteName]];
            CCTexture *texture = [CCTexture textureWithFile:directory];
            combo.cookieB.sprite.texture = texture;
        }];

Однако я просто регистрирую эти сообщения:

2015-01-17 12:22:09.294 BbqBlitz[65732:4875151] -[CCFileUtils fullPathForFilename:contentScale:] : cocos2d: Warning: File not found: sprites/Cupcake.png
2015-01-17 12:22:09.294 BbqBlitz[65732:4875151] cocos2d: Couldn't find file:sprites/Cupcake.png

Что странно, так это то, что я использую точно такой же путь к файлу для первоначального создания спрайтов, который отлично работает. Но теперь, когда я пытаюсь создать текстуру, она не работает, и спрайты просто превращаются в черные квадраты в моей игре.

Я уже читал этот похожий вопрос: файл изображения SpriteBuilder не найден, но из того, что я могу сказать, что каталог, который я использую, правильный.

Что мне здесь не хватает? Большое спасибо за любую помощь!


person Euka    schedule 17.01.2015    source источник


Ответы (1)


Попробуйте загрузить его без имени папки

NSString *directory = [NSString stringWithFormat:@"%@.png", [combo.cookieB spriteName]];

Я полагаю, это может быть часть листа спрайтов после spriteBuilder.

person freele    schedule 03.02.2015
comment
Спасибо за ответы! Я на самом деле пробовал это раньше, хотя и не получил любви. В итоге я просто создал новый спрайт и поместил его в то же положение, что и старый спрайт, чтобы изменить текстуру, потому что изменение текстуры все еще не работает для меня. - person Euka; 09.02.2015