1- 直接加载图片文件作为frame
CCAnimation *robotAnim = [CCAnimation animation]; // 4
[robotAnim addFrameWithFilename:@"an1_anim2.png"]; // 5
[robotAnim addFrameWithFilename:@"an1_anim3.png"];
[robotAnim addFrameWithFilename:@"an1_anim4.png"];
id robotAnimationAction = [CCAnimate actionWithDuration:0.5f
animation:robotAnim restoreOriginalFrame:YES]; // 6
2- 通过预加载FrameCache文件作为frame,frameName的图片必须已经加载到FrameCache中。
// Animation example with a CCSpriteBatchNode
CCAnimation *exampleAnim = [CCAnimation animation];
[exampleAnim addFrame: [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"sv_anim_2.png"]];
[exampleAnim addFrame: [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"sv_anim_3.png"]];
[exampleAnim addFrame: [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"sv_anim_4.png"]];
id animateAction = [CCAnimate actionWithDuration:0.5f animation:exampleAnim restoreOriginalFrame:NO];
id repeatAction = [CCRepeatForever actionWithAction:animateAction];PS. 可以把Animation加入到AnimationCache
[[CCAnimationCache sharedAnimationCache]
addAnimation:animationToCache
name:@"AnimationName"];在需要时取出
CCAnimation *myAnimation = [[CCAnimationCache sharedAnimationCache]
animationByName:@"AnimationName"];
这样就不用总持有animation。

本文介绍了如何在游戏开发中使用CCAnimation类来创建动画效果,包括直接加载图片文件和通过预加载FrameCache文件作为帧的方法。同时展示了如何将动画加入到AnimationCache,以及如何在需要时从Cache中取出动画,以避免总是持有动画实例。
2672

被折叠的 条评论
为什么被折叠?



