欢迎转载。转载请注明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);
就好了 .
运行的图就不上了 .