首先将所有的需要的动画帧打包成为一张图集和一个plist文件。
需要的打包软件:TexturePacker;
首先我们如何获取这个图集和plist文件呢:
CCSpriteFrameCache*name=CCSpriteFrameCache::sharedSpriteFrameCache();
name->addSpriteFramesWithFile("girls.plist","girls.png");
定义一个缓冲池,然后将动画帧加载到缓冲池中;
首先说说我们怎么调用图集里面的小图呢,事情告诉大家,这个就非常的简单了,和我们平时创建一个精灵的方法是一模一样的,直接调用小图片的名字就可以了,哈哈简单吧!
下来说说如何实现动画吧:
A、看看我们这个动画需要多少针int iFrameNum = m(假设有m帧);
B、定义缓冲池CCSpriteFrame对象:CCSpriteFrame*frame=NULL;
C、定义一个数组:CCArray* frameArray = CCArray::create();
下来就是如何获取缓冲池中的对象:
for(int i=1; i<=iFrameNum; i++){
frame=name->spriteFrameByName(CCString::createWithFormat("sp%d.png",i)->getCString());
frameArray->addObject(frame); }
D、使用CCSpriteFrame列表创建动画对象
CCAnimation*animation=CCAnimation::createWithSpriteFrames(frameArray);
animation->setLoops(-1);
animation->setDelayPerUnit(0.2f);
函数解释:
setLoops(-1);表示的是动画循环执行;
setDelayPerUnit(0.2f);表示动画帧之间的间隔时间是0.2秒;
最后就是将动画帧打包了:
CCAnimate* action = CCAnimate::create(animation);
然后使用runAction()将动画添加到精灵对象上就OK了。
这样动画的实现过程就搞定了,哈哈,简单吧!哇嘎嘎嘎。。。。