Анимация спрайта с помощью листа спрайта дает неизвестную ошибку - PullRequest
0 голосов
/ 18 февраля 2012

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

        [[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 голосов
/ 18 февраля 2012

Я думаю, что это лучший пример для анимации в cocos2d. нажмите здесь .

Я не уверен, но я думаю, что проблема с вашими спрайт-изображениями или именем изображения. проверьте название вашего изображения в файле plist. Убедитесь, что все изображения имеют одинаковый размер, который вы используете для анимации.

Надеюсь, что это поможет вам.

...