не показывать спрайт анимацию в cocos2d - PullRequest
1 голос
/ 15 марта 2011

Я создаю анимацию в спрайте. Я изменяю спрайт после перикулярного периода и повторяю его навсегда. Я ссылался на многие сайты, и формат такой же, как показано ниже:

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

        CCSpriteSheet *spriteSheet = [CCSpriteSheet   spriteSheetWithFile:@"apls.png" capacity:3]; 

        [[CCSpriteFrameCache sharedSpriteFrameCache]   addSpriteFramesWithFile:@"apls.plist"]; 

        CCSprite *sprite = [CCSprite spriteWithSpriteFrameName:@"apple2.png"]; 
        sprite.position = ccp(230,230);                     
        [spriteSheet addChild:sprite];  
        [self addChild:spriteSheet];  


        NSMutableArray *animFrames = [NSMutableArray array];  
        for(int i = 2; i < 5; i++)  
        {  

            CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] 
                        spriteFrameByName: [NSString stringWithFormat:@"apple%d.png",i]];  
            [animFrames addObject:frame];  

        }  

        CCAnimation *animation = [CCAnimation animationWithName:@"dance"      
                                delay:0.2f  frames:animFrames];  

        [sprite runAction:[CCRepeatForever actionWithAction: 
        [CCAnimate  actionWithAnimation:animation restoreOriginalFrame:NO] ]];  

    }  
    return self;  
}

это код для того же. Но на симуляторе это ничего не показывает. просто частота кадров продолжает меняться.
Есть что-то, чего мне не хватает?

спасибо заранее.

1 Ответ

1 голос
/ 03 июня 2012

Попробуй это.

NSMutableArray *animFrames = [NSMutableArray array];  
    for(int i = 2; i < 5; i++)  
    {  

        CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] 
                    spriteFrameByName: [NSString stringWithFormat:@"apple%d.png",i]];  
        [animFrames addObject:frame];  
    }

CCAnimation *animation = [CCAnimation frames:animFrames delay:0.2f]; 

[sprite runAction:[CCRepeatForever actionWithAction: [CCAnimate actionWithAnimation:animation restoreOriginalFrame:NO] ]];

...