我用cocos2d创建了一个新项目,然后创建了一个图层和一个精灵。我正在尝试将动画应用于我的精灵,并且我找到了一些关于它的示例。但我不明白 和 之间的区别CCAnimation
,CCAnimate
所以我还没有为我的精灵应用任何动画。
这两者有什么区别,它们的真正含义是什么?如何使用它们?
任何人都可以解释一下吗?请帮我。
我用cocos2d创建了一个新项目,然后创建了一个图层和一个精灵。我正在尝试将动画应用于我的精灵,并且我找到了一些关于它的示例。但我不明白 和 之间的区别CCAnimation
,CCAnimate
所以我还没有为我的精灵应用任何动画。
这两者有什么区别,它们的真正含义是什么?如何使用它们?
任何人都可以解释一下吗?请帮我。
这是cocos2d-iphone 编程指南中“使用 Sprites 和 Sprite 批处理节点”中的代码:
......
NSMutableArray *animFrames = [NSMutableArray array];
for(int i = 1; i < 15; i++) {
CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"grossini_dance_%02d.png",i]];
[animFrames addObject:frame];
}
CCAnimation *animation = [CCAnimation animationWithName:@"dance" delay:0.2f frames:animFrames];
[sprite runAction:[CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:animation restoreOriginalFrame:NO]]];
如您所见,您需要同时使用CCAnimate
并CCAnimation
在精灵上运行基于 CCSpriteFrame 的动画。根据描述CCAnimation
:
该
CCAnimation
对象包含CCSpriteFrame
对象,并且帧之间可能存在延迟。您可以CCAnimation
使用动作为对象设置动画CCAnimate
。例子:
[sprite runAction:[CCAnimate actionWithAnimation:animation]];
一般来说,CCAnimation
是框架容器的包装。CCAnimate
是精灵需要做的动作——实际上它是 的子类CCAction
,代表精灵可以“跑”的动作,比如移动、跳跃、旋转等。你可以使用它的其他子类来做一些种类在您的精灵上制作动画,而无需自己创建帧。尝试使用CCFadeIn
,CCRotateBy
等。