生成plist文件( cocos studio 和 TexturePacker 两种方式):
1、打开cocos studio,并新建项目。
2、点击菜单的文件----新建文件----合图----取名称。
3、把需要的png图片拖进项目下,再拖入中间的大页面。
4、点击右边的导出合图,并选择文件夹,导出。
1、打开TexturePacker,将图片拖入。
2、设置OutPut Files的路径和名称
3、点击Publish按钮
使用:
1、先将plist的图片加入缓存,再使用相应方法读取图片,例子:
SpriteFrameCache::getInstance()->addSpriteFramesWithFile("menu.plist","menu.png");//(只需要做一次)
Sprite* bg =Sprite::createWithSpriteFrameName("MainMenu.png");//(MainMenu.png在menu.plist里面)
2、播放动画,例子:
SpriteFrameCache* pCache =SpriteFrameCache::getInstance();
pCache->addSpriteFramesWithFile("runs.plist");//(s_1.png在runs.plist里面)
mainsprite =Sprite::create();
Vector<SpriteFrame*> runs;
runs.pushBack(pCache->spriteFrameByName("s_1.png"));
runs.pushBack(pCache->spriteFrameByName("s_2.png"));
runs.pushBack(pCache->spriteFrameByName("s_3.png"));
runs.pushBack(pCache->spriteFrameByName("s_4.png"));
Animation* pAnimation =Animation::createWithSpriteFrames(runs,0.2f);
pAnimation->setRestoreOriginalFrame(true);
pAnimation->setDelayPerUnit(0.1f);
Sequence* taskList=Sequence::create(Animate::create(pAnimation),NULL);
mainsprite->runAction(RepeatForever::create(taskList));
3、生成xml文件播放动画
在plist和png目录下,制作xml动画文件,比如
<?xml version="1.0" encoding="UTF-8"?>
<root>
<plists>
<plist>run.plist</plist>
</plists>
<animations>
<animation>
<name>goldEffect</name>
<delay>0.16</delay>
<flipX>false</flipX>
<flipY>false</flipY>
<spriteFrame>com_fly_chip_00.png</spriteFrame>
<spriteFrame>com_fly_chip_01.png</spriteFrame>
<spriteFrame>com_fly_chip_02.png</spriteFrame>
<spriteFrame>com_fly_chip_03.png</spriteFrame>
<spriteFrame>com_fly_chip_04.png</spriteFrame>
<spriteFrame>com_fly_chip_05.png</spriteFrame>
</animation>
</animations>
</root>
复制AnimatePacker.h、AnimatePacker.cpp、Singleton.h文件在项目下。
先加载动画-->AnimatePacker::getInstance()->loadAnimations("run.xml");
再使用动画-->people->runAction(Sequence::create(AnimatePacker::getInstance()->getAnimate("goldEffect"),NULL));
4、使用单张图片,例子:
mainsprite->setSpriteFrame(Sprite::createWithSpriteFrameName("s_2.png")->getSpriteFrame());