【爱上cocos2d-x之十一】帧动画加载,从.png和.plist文件

来源:互联网 发布:男男内射 知乎 编辑:程序博客网 时间:2024/05/09 01:08

1. 从.png和.plist文件加载帧动画

CCSpriteBatchNode* spritebatch=CCSpriteBatchNode::create("animations/walk.png");CCSpriteFrameCache* cache=CCSpriteFrameCache::sharedSpriteFrameCache();cache->addSpriteFramesWithFile("animation/walk.plist");m_pSprite1=CCSprite::createWithSpriteFrameName("walk_go_01.png");spritebatch->addChild(m_pSprite1);this->addChild(spritebatch)

现在我们有一个需求:创建CCArray对象,增加动画中的所有frame到此对象中。在这个动画例子中,有10个frame都有一模一样的尺寸,因此我们利用嵌套循环来迭代。

CCArray* animFrames=CCArray::createWithCapacity(11);char str[100]={0};for(int i=1; i<11; i++){sprintf(str,"walk_go_%02d.png",i);CCSpriteFrame* frame=cache->spriteFrameByName(str);animFrames->addObject(frame);}CCAnimation* animation=CCAnimation::createWithSpriteFrames(animFrames,0.4f);m_pSprite1->runAction(CCRepeatForever::create(CCAnimate::create(animation)));

2. CCAnimationCache可以加载xml/plist文件,同样可以批量加载动画,而且这个接口更简单易用。

CCAnimationCache* cache=CCAnimationCache::sharedAnimationCache();cache->addAnimationsWithFile("animations/animations-2.plist");CCAnimation animation=cache->animationByName(walk_1);CCAnimate animate=CCAnimate::create(animation);sprite->runAction(animate);


0 0
原创粉丝点击