用雪碧动画一个雪碧表给出一个未知的错误

问题描述:

我试图让一个雪碧永久动画自己。没有问题,它建立良好。我通过菜单,当我点击具有我想要在其上生成动画的精灵的场景时,它崩溃。我使用下面的代码为我的动画:用雪碧动画一个雪碧表给出一个未知的错误

 [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"sprite_fly.plist"]; 
    CCSpriteBatchNode *spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"sprite_fly.png"]; 
    [self addChild:spriteSheet]; 
    NSMutableArray *flapAnimFrames = [NSMutableArray array]; 
    for(int i = 1; i<=6; ++i) { 
     [flapAnimFrames addObject: 
      [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName: 
      [NSString stringWithFormat:@"Fly%d.png"]]]; 
    } 
    CCAnimation *flapAnim = [CCAnimation animationWithFrames:flapAnimFrames delay:1]; 
    CGSize winSize = [CCDirector sharedDirector].winSize; 
    fly = [CCSprite spriteWithSpriteFrameName:@"fly1.png"]; 
    fly.position = ccp(winSize.width/2, winSize.height/2); 
    flapAction = [CCRepeatForever actionWithAction: 
        [CCAnimate actionWithAnimation:flapAnim restoreOriginalFrame:NO]]; 
    [fly runAction:flapAction]; 
    [spriteSheet addChild:fly]; 

我认为问题是代码,CCSpriteFrameCache第一线做的,但我看不出什么毛病。请帮助,或给我另一种方式来动画我的精灵。

我认为这是在cocos2d中动画的最佳例子。 click here

我不确定,但我认为问题出在你的精灵图像或图像名称。在plist文件中检查你的图像名称。确保所有图像的大小与您用于动画的大小相同。

希望能帮助你。

+0

好的,我认为我的一些图片可能有不同的尺寸,我会让它们更大一些,看看它是如何发展的。 – akuritsu 2012-02-18 09:06:39