Ошибка подтверждения в +[CCSprite spriteWithSpriteFrameName:]?

По какой-то причине я получаю ошибку утверждения в +[CCSprite spriteWithSpriteFrameName:].

Я в основном пытаюсь "обновить PinkBerries" или, другими словами, создать больше спрайтов "ягоды", которые будут добавлены на экран. Они "враги" в моей игре.

Это мой код:

- (id) init
{
    if((self = [super init]))
    {

        CCLOG(@"%@ init", NSStringFromClass([self class]));

        self.touchEnabled = YES;

        [self scheduleUpdate];
    }
    return self;
}

-(void)updatePinkBerries:(ccTime)dt
{
    CGSize winSize = [CCDirector sharedDirector].winSize;

    double curTime = CACurrentMediaTime();

    if (curTime > _nextPinkBerrySpawn)
    {
        // Figure out the next time to spawn an asteroid
        float randSecs = randomValueBetween(0.20, 1.0); _nextPinkBerrySpawn = randSecs + curTime;

        // Figure out a random Y value to spawn at
        float randY = randomValueBetween(0.0, winSize.height);

        // Figure out a random amount of time to move from right to left
        float randDuration = randomValueBetween(2.0, 10.0);

        // Create a new asteroid sprite
        CCSprite *pinkBerry = [CCSprite spriteWithSpriteFrameName:@"ship.png"]; [_batchNode addChild:pinkBerry];

        // Set its position to be offscreen to the right
        pinkBerry.position = ccp(winSize.width + pinkBerry.contentSize.width/2, randY);

        // Move it offscreen to the left, and when it's done, call removeNode
        [pinkBerry runAction:
         [CCSequence actions:
          [CCMoveBy actionWithDuration:randDuration position:ccp(-winSize.width- pinkBerry.contentSize.width, 0)],
          [CCCallFuncN actionWithTarget:self selector:@selector(removeNode:)], nil]];
    }
}

РЕДАКТИРОВАТЬ: ЖУРНАЛ ПОЛНОЙ АССЕРАЦИИ:

2013-03-31 19: 39: 09.225 Berry Muncher-iOS [19550: c07] - [CCFileUtils fullPathForFilename: resolutionType:]: cocos2d: Предупреждение: файл не найден: Sprites.plist 2013-03-31 19: 39: 09.225 Берри Muncher-iOS[19550:c07] cocos2d: CCSpriteFrameCache: попытка использовать файл "Sprites.png" в качестве текстуры 2013-03-31 19:39:09.425 Берри Muncher-iOS[19550:c07] cocos2d: CCSpriteFrameCache: Frame 'ship.png'не найдено 2013-03-31 19:39:09.426 Berry Muncher-iOS[19550:c07] *** Ошибка подтверждения в +[CCSprite spriteWithSpriteFrameName:], /Users/Suraya/Desktop/Kobold2D/Kobold2D-2.1.0 /Kobold2D/libs/cocos2d-iphone/cocos2d/CCSprite.m:105

РЕДАКТИРОВАТЬ: скриншот моего plist

введите описание изображения здесь

1 ответ

Решение

Я узнал это из учебника Рэя Вандерлиха. Поскольку у него есть другие произведения искусства, чем вы могли бы использовать, вы должны создать свой собственный CCSpriteBatchNode и сопровождающий plist файл, чтобы имена элементов из его проекта не перепутались с вашими.

Другие вопросы по тегам