cocos2d-x 2.x
CCArray* splashFrames = CCArray::createWithCapacity(16); for (int i=1; i<=23; i++) { const char* str = CCString::createWithFormat("Splash_%04d.png",i)->getCString(); CCSpriteFrame* frame = cache->spriteFrameByName(str); splashFrames->addObject(frame); } CCAnimation *splashAnim = CCAnimation::create(); splashAnim = CCAnimation::createWithSpriteFrames(splashFrames, 0.02f); 或者: CCAnimationCache* animationCache = CCAnimationCache::sharedAnimationCache(); animationCache->addAnimationsWithFile("dealer_smile_ani.plist"); CCAnimation* animation = animationCache->animationByName("dealer_smile_ani"); nimSprite->runAction(CCRepeatForever::create(CCSequence::createWithTwoActions(CCAnimate::create(animation), CCDelayTime::create(2.5f))));
Cocos2d-x 3.x
Vector<SpriteFrame*> splashFrames; for (int i=1; i<=23; i++) { const char* str = CCString::createWithFormat("Splash_%04d.png",i)->getCString(); SpriteFrame* frame = cache->getSpriteFrameByName(str); splashFrames.pushBack(frame); } Animation *splashAnim = Animation::create(); splashAnim = Animation::createWithSpriteFrames(splashFrames, 0.02f);
很明显,2.x与3.x的实现方式,最大的区别在于3.x用不定长的Vector来组织帧序列,相对更加灵活
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-05 20:38:57