转载请注明出处:http://blog.youkuaiyun.com/oyangyufu/article/details/25168047
程序效果图:
1、下载安装TexturePackerGUI
地址:http://www.codeandweb.com/texturepacker
2、制作plist文件和png图片
打开TexturePackerGUI,将动画素材拖拽至TexturePackerGUI图片区,填写Output路径及名称,点击工具栏Publish,生成plist、png文件,然后将此2文件放至项目Resources下:
编写程序:
bool HelloWorld::init()
{
if ( !CCLayer::init() )
{
return false;
}
CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
"CloseNormal.png",
"CloseSelected.png",
this,
menu_selector(HelloWorld::menuCloseCallback));
pCloseItem->setPosition(ccp(origin.x + visibleSize.width - pCloseItem->getContentSize().width/2 ,
origin.y + pCloseItem->getContentSize().height/2));
CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
pMenu->setPosition(CCPointZero);
this->addChild(pMenu, 1);
//装载plist文件
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("izmuo.plist", "izmuo.png");
CCArray *array = CCArray::create();
char ptr[10]={0};
//获取每一帧动画,遍历图片名字
for (int i=1; i<10; i++)
{
sprintf(ptr, "%d.png", i);
CCLOG("ptr: %s",ptr);
CCSpriteFrame *spriteframe = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(ptr);
array->addObject(spriteframe);
}
//根据帧序列表创建动画对象,指定播放速度
CCAnimation *animation = CCAnimation::createWithSpriteFrames(array,0.2f);
//根据动画创建动画动作
CCAnimate *animate = CCAnimate::create(animation);
CCSprite *sprite = CCSprite::create();
//开始执行动作
sprite->setScale(0.5);
sprite->runAction(CCRepeatForever::create(animate));
sprite->setPosition(ccp(visibleSize.width/2, visibleSize.height/2));
this->addChild(sprite);
return true;
}