1

我必须为一个角色(人)制作动画(跳舞)大约 6-7 秒,即500-600 帧。我之前通过使用zwoptex创建精灵表然后在The Great Ray Wenderlich的帮助下使用CCSpriteFrameCache && CCSpriteBatchNode加载它来完成动画。但在这种情况下,框架数量很多,我不确定 iOS 设备是否能够支持它。以尽可能少的开销为所有这些帧设置动画的最佳过程是什么。我可以在制作动画时更改fps吗?有人知道吗?

4

1 回答 1

0

在这里,我放了用于添加动画图像而不使用TexturePacker的代码:

CCSprite *dog = [CCSprite spriteWithFile:@"dog1.gif"];
        dog.position = ccp(winSize.width/2, winSize.height/2);
        [self addChild:dog z:2];

        NSMutableArray *animFrames = [NSMutableArray array];
        for( int i=1;i<=5;i++)
        {
            NSString* file = [NSString stringWithFormat:@"dog%d.gif", i];
            CCTexture2D* texture = [[CCTextureCache sharedTextureCache] addImage:file];
            CGSize texSize = texture.contentSize;
            CGRect texRect = CGRectMake(0, 0, texSize.width, texSize.height);
            CCSpriteFrame* frame = [CCSpriteFrame frameWithTexture:texture rect:texRect];
            [animFrames addObject:frame];
        }
        CCAnimation * animation = [CCAnimation animationWithSpriteFrames:animFrames];
        animation.delayPerUnit = 0.07f;
        animation.restoreOriginalFrame = YES;

        CCAnimate *animAction  = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:animation]];
        [dog runAction:animAction];

尝试使用此代码,我不确定是否对您的情况有帮助:

于 2013-07-17T12:21:56.930 回答