素材圖:
然後使用Texture Packer放到一張圖片上,並生成plist文件
接下來直接上代碼
CCSize size = CCDirector::sharedDirector()->getWinSize(); //獲得屏幕的尺寸
CCArray* pArray = CCArray::createWithCapacity(4);
CCSpriteFrameCache* pCache = CCSpriteFrameCache::sharedSpriteFrameCache(); //獲得SpriteFrame的緩存
pCache->addSpriteFramesWithFile("attack.plist");
CCSprite* pSprite = CCSprite::createWithSpriteFrameName("A1_0.png"); //用attack.png中的第一張圖片創建一個精靈
pSprite->setPosition(ccp(size.width/2,size.height/2)); //設置精靈的座標
char name[20];
for(int i=0; i<4; i++) //將plist中的圖片都加載,放到array中
{
sprintf(name, "A1_%d.png", i);
CCSpriteFrame* pframe = pCache->spriteFrameByName(name);
pArray->addObject(pframe);
}
CCAnimation* pAnimation = CCAnimation::createWithSpriteFrames(pArray,0.2f); //用array中的spriteframe創建一個animation,每幀間隔0.2s
CCAnimate* panimate = CCAnimate::create(pAnimation);
pSprite->runAction(CCRepeatForever::create(panimate));
運行結果就是
在mac下面qq截圖不能截動態的,就給個樣子,大家自己寫個demo試試就可以看到效果。