cocos2d-x 创建帧动画

看到好多人问如何用cocos2d-x创建帧动画,其实用cocos2d-x很容易创建帧动画。我就写一遍吧。

  1. void MyClass::initMyAnim()  
  2. {  
  3.     /** 
  4.     //可以在程序载入的时候预加载这些动画资源,然后在cache中读取 
  5.     CCSpriteFrameCache* cache = CCSpriteFrameCache::sharedSpriteFrameCache(); 
  6.     cache->addSpriteFramesWithFile("run.plist", "run.png"); 
  7.     */  
  8.     CCSpriteFrameCache* cache = CCSpriteFrameCache::sharedSpriteFrameCache();  
  9.     CCMutableArray<CCSpriteFrame*>* animFrames = new CCMutableArray<CCSpriteFrame*>(12);  
  10.       
  11.     char str[64] = {0};  
  12.     for(int i = 1; i <=12; i++)   
  13.     {  
  14.         sprintf(str, "run%04d.png", i);  
  15.         CCSpriteFrame* frame = cache->spriteFrameByName( str );  
  16.         animFrames->addObject(frame);  
  17.     }  
  18.       
  19.     CCAnimation* animation = CCAnimation::animationWithFrames(animFrames,0.4f);  
  20.     CCActionInterval* action=CCAnimate::actionWithAnimation(animation,true);  
  21. CCFiniteTimeAction *myRun= CCSequence::actions(action,CCCallFunc::actionWithTarget(this,callfunc_selector(MyClass::callBackRun)),NULL);  
  22.     myRun->retain();  
  23.     animFrames->release();  
  24. }  

CCCallFunc用来做动画回调用,没有回调的话,就不用了。myRun->retain()后记得release掉。

OK,是不是很简单。记录一笔。

相关推荐