
学习总结:
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)
}
效果图: