Frage

I'm getting an Assertion failure in +[CCSprite spriteWithSpriteFrameName:] for some reason.

I'm basically trying to "updatePinkBerries" or in other words, creating more sprite 'berries' to be added to the screen. They are the 'enemies' in my game.

This is my code:

- (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]];
    }
}

EDIT: FULL ASSERTION LOG:

2013-03-31 19:39:09.225 Berry Muncher-iOS[19550:c07] -[CCFileUtils fullPathForFilename:resolutionType:] : cocos2d: Warning: File not found: Sprites.plist 2013-03-31 19:39:09.225 Berry Muncher-iOS[19550:c07] cocos2d: CCSpriteFrameCache: Trying to use file 'Sprites.png' as texture 2013-03-31 19:39:09.425 Berry Muncher-iOS[19550:c07] cocos2d: CCSpriteFrameCache: Frame 'ship.png' not found 2013-03-31 19:39:09.426 Berry Muncher-iOS[19550:c07] *** Assertion failure in +[CCSprite spriteWithSpriteFrameName:], /Users/Suraya/Desktop/Kobold2D/Kobold2D-2.1.0/Kobold2D/libs/cocos2d-iphone/cocos2d/CCSprite.m:105

EDIT: screenshot of my plist

enter image description here

War es hilfreich?

Lösung

I recognize this from a Ray Wanderlich tutorial. Because he has different artwork than you might use, you should create your own CCSpriteBatchNode and accompanying plist file so item names from his project don't get mixed up with yours.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top