cocos2d-x学习笔记------动画人物跑起来吧!
学习总结:
1、sprintf用来格式化字符串
2、CCSpriteFrame:: frameWithTexture通过图片名创建的时候需要的参数Texture2D创建使用CCTextureCache::sharedTextureCache()->addImage(str)
3、CCAnimation用来装载已经缓存的图片动画资源CCAnimation *animation=CCAnimation::animationWithFrames(arrayList, 0.2f);
4、循环动画需要使用CCRepeatForever中的actionWithAction方法
5、需要学会查询cocos2d-x的官方资料文档(查询相关类的方法如何使用):
http://cocos2d.cocoachina.com/document/index/class?url=db/dc5/classcocos2d_1_1_c_c_animate.html
动画核心代码:
void Player::run(){ CCMutableArray<CCSpriteFrame*> *arrayList = new CCMutableArray<CCSpriteFrame*>(4); char str[64]={0}; for(int i=1;i<9;i++){ sprintf(str,"sprite/player%d.png",i); arrayList->addObject(CCSpriteFrame:: frameWithTexture(CCTextureCache::sharedTextureCache()->addImage(str),CCRectMake(0, 0, 120, 134))); } CCAnimation *animation=CCAnimation::animationWithFrames(arrayList, 0.2f); CCAnimate *animate=CCAnimate::actionWithAnimation (animation); sprite->runAction(CCRepeatForever::actionWithAction(animate));//CCRepeatForever::actionWithAction(interval) }
效果图: