【爱上cocos2d-x之十一】帧动画加载,从.png和.plist文件

  1. 从.png和.plist文件加载帧动画
 CCSpriteBatchNode* spritebatch=CCSpriteBatchNode::create("animations/walk.png");
CCSpriteFrameCache* cache=CCSpriteFrameCache::sharedSpriteFrameCache(); 
cache->addSpriteFramesWithFile("animation/walk.plist");
 m_pSprite1=CCSprite::createWithSpriteFrameName("walk_go_01.png"); 
spritebatch->addChild(m_pSprite1); this->addChild(spritebatch)

现在我们有一个需求:创建CCArray对象,增加动画中的所有frame到此对象中。在这个动画例子中,有10个frame都有一模一样的尺寸,因此我们利用嵌套循环来迭代。

 CCArray* animFrames=CCArray::createWithCapacity(11); 
char str={0}; 
for(int i=1; i<11; i++) { sprintf(str,"walk_go_%02d.png",i);
 CCSpriteFrame* frame=cache->spriteFrameByName(str); 
animFrames->addObject(frame); }
 CCAnimation* animation=CCAnimation::createWithSpriteFrames(animFrames,0.4f);
 m_pSprite1->runAction(CCRepeatForever::create(CCAnimate::create(animation)));
  1. CCAnimationCache可以加载xml/plist文件,同样可以批量加载动画,而且这个接口更简单易用。
 CCAnimationCache* cache=CCAnimationCache::sharedAnimationCache();
 cache->addAnimationsWithFile("animations/animations-2.plist"); 
CCAnimation animation=cache->animationByName(walk_1); 
CCAnimate animate=CCAnimate::create(animation); 
sprite->runAction(animate);

可否录一系列的视频呢?