[cocos2d-x 2.0+游戏开发]动画的创建

来源:互联网 发布:淘宝论坛怎么发帖子 编辑:程序博客网 时间:2024/05/29 15:12

欢迎转载。转载请注明softboy 博客: http://www.softboy.uqc.cn

第一次开发cocos2d-x 的游戏.一边学习一遍进步,记录成博客 欢迎大家一起分析.
等我开发出一款精美游戏,在回首,将是一个美好的记忆.
注明,本教程都是cocos2d-2.0-rc2-x-2.0.1  较以前有较大的改变,以前的版本的教程真的是只能做参考.

    这个是动画初始化.我的图是500*200的 .
CCAnimation* AnimationManager::createNPCAnimation(){CCTexture2D *playerRunTexture = CCTextureCache::sharedTextureCache()->addImage("jumping.png");          CCAnimation* animation = CCAnimation::create();      for( int i = 0;i < 5;i++){          animation->addSpriteFrame(CCSpriteFrame::create(playerRunTexture, cocos2d::CCRectMake(100*i, 0, 100, 100)));      }   for( int i = 0;i < 5;i++){          animation->addSpriteFrame(CCSpriteFrame::create(playerRunTexture, cocos2d::CCRectMake(100*i, 100, 100, 100)));      }      // should last 2.8 seconds. And there are 14 frames.      animation->setDelayPerUnit(0.2f);animation->setRestoreOriginalFrame(true);return animation;}


这个时候 就可以 通过下面代码 把动画加载hello world 上面了 .
CCSprite *m_grossini;m_grossini = CCSprite::create("npc.png");m_grossini->setPosition(CCPointMake(100,100));addChild(m_grossini, 1);m_grossini->setVisible(true);    m_grossini->retain();    CCAnimate* action = sAnimationMgr->createAnimate("1");//CCAnimate::create(sAnimationMgr->createAnimate("1"));    m_grossini->runAction(CCSequence::create(action, action->reverse(), NULL));


通过名字管理动画.,为了方便管理动画 .



一般是把动画加到 CCAnimationCache 中.
CCAnimationCache::sharedAnimationCache()->addAnimation(createNPCAnimation(), "1");

这样,每次使用动画 就用;
CCAnimation* anim = CCAnimationCache::sharedAnimationCache()->animationByName(key);
就好了 .

运行的图就不上了 .
原创粉丝点击