使用Sprite Sheet动画化Sprite会产生未知错误

时间:2012-02-18 02:02:14

标签: animation xcode4 cocos2d-iphone ccsprite sprite-sheet

我试图让精灵永远地为自己制作动画。没有问题,它建立得很好。我越过菜单,当我点击我想要在其上制作动画的场景时,它会崩溃。我在动画中使用以下代码:

        [[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有关,但我看不出它有什么问题。请帮助,或给我另一种动画我的精灵的方法。

1 个答案:

答案 0 :(得分:0)

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

我不确定,但我认为问题在于您的精灵图片或图片名称。检查plist文件中的图像名称。确保所有图像都具有与动画相同的尺寸。

希望能帮助你。