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