您不能手动添加CCSprite
到SpriteSheets。因为当您使用纹理打包器创建动画 Sprite 时,我希望您知道它也是用.plist
文件创建的,并且它会从它的大小中获取图像。
当您手动添加 CCSprite 时,也无法从SpriteFramesWithFile
. 可能是你有错误。
在不使用纹理打包器的情况下添加动画 CCSprite 的另一种方法
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];
上面的代码只是描述了如何在CCSprite
不使用 纹理打包器的情况下添加动画
在这里,您还可以更改图像数组,以便您也可以手动添加图像。