简单的精灵动画,如下:
float actionIndex = 0;
CCTexture2D* pTexture = CCTextureCache::sharedTextureCache()->addImage("sprite.png");//使用CCTexture2D加载图片
CCSpriteFrame* pFrame0 = CCSpriteFrame::frameWithTexture(pTexture,CCRectMake(32*0,48*actionIndex,32,48));//生成对应的CCSpriteFrame
CCSpriteFrame* pFrame1 = CCSpriteFrame::frameWithTexture(pTexture,CCRectMake(32*1,48*actionIndex,32,48));
CCSpriteFrame* pFrame2 = CCSpriteFrame::frameWithTexture(pTexture,CCRectMake(32*2,48*actionIndex,32,48));
CCSpriteFrame* pFrame3 = CCSpriteFrame::frameWithTexture(pTexture,CCRectMake(32*3,48*actionIndex,32,48));
//
CCMutableArray<CCSpriteFrame*>* pAnimFrames = new CCMutableArray<CCSpriteFrame*>(4);
pAnimFrames->addObject(pFrame0);
pAnimFrames->addObject(pFrame1);
pAnimFrames->addObject(pFrame2);
pAnimFrames->addObject(pFrame3);
CCAnimation* pAnimation = CCAnimation::animationWithFrames(pAnimFrames,0.2f);//将CCSpriteFrame添加到CCAnimation生成动画数据
pAnimFrames->release();
//
CCSprite* pSprite = CCSprite::spriteWithSpriteFrame(pFrame0);//设置一个初始frame
pSprite->setPosition(ccp(size.width/2,size.height/2));
this->addChild(pSprite);
//
CCAnimate* pAnimate = CCAnimate::actionWithAnimation(pAnimation,false);//使用animation生成一个动画动作animate
pSprite->runAction(CCRepeatForever::actionWithAction(pAnimate));//重复播放
该动画共有4帧,持续的循环播放。