这个是我自己做出来的,cocos2d创建帧动画今天来和大家分享一下

1.将这个GIF文件用,UleadGIFAnimator打开,然后另存为图像帧,这样就将GIF转换成一组png图片了:



2.打开TexturePacker,将图片拖进右边的Sprites框路面,然后设置OutPut的Date File,最后点击上方工具栏的Publish生成:



3.将这些素材都拖进工程的Resource里面:



4.重写Init方法:

bool HelloWorld::init()

{

//////////////////////////////

// 1. super init first

if ( !Layer::init() )

{

return false;

}

Size size = Director::getInstance()->getVisibleSize();

//缓存SpriteFrame对象,.plist和.png

auto cache = SpriteFrameCache::getInstance();

cache->addSpriteFramesWithFile(“D:\\hello\\Animation\\proj.win32\\res\\light.plist”,”D:\\hello\\Animation\\proj.win32\\res\\light.png”);

//创建sprite对象,同来执行runAction

auto sprite = Sprite::create();

sprite->setPosition(size.width/2,size.height/2);

addChild(sprite);

//把每帧图片放进向量里

Vector<SpriteFrame*> vec;

for (int i=1001; i<=1006; i++){

String *string = String::createWithFormat(“%d.png”,i);

SpriteFrame *spfr = cache->getSpriteFrameByName(string->getCString());

vec.pushBack(spfr);

}

//创建Animation对象

Animation *animation = Animation::createWithSpriteFrames(vec,0.1);

Animate *action = Animate::create(animation);

sprite->runAction(RepeatForever::create(action));

return true;

}5.运行结果: