Cocos2d-x--CCAnimate实现简单动画

来源:互联网 发布:wps数据透视图 编辑:程序博客网 时间:2024/05/01 21:54

所用到的图片:

 

实现动画步骤:

1.读取2D纹理信息

2.记录单帧信息

3.生成逐帧数组

4.设置动画信息

5.设置起始帧

6.创建并执行动画

 

实现:新建一个Cocos2d-x项目,将图片放到工程资源中,修改HelloWorldSence.cpp中do代码块中的代码

CC_BREAK_IF(! CCLayer::init());// Get window size and place the label upper. CCSize size = CCDirector::sharedDirector()->getWinSize();// 1.读取2D纹理信息CCTexture2D *texture = CCTextureCache::sharedTextureCache()->addImage("items.png");//2.记录单帧信息CCSpriteFrame* m_frame1 = CCSpriteFrame::createWithTexture(texture, CCRectMake(/*0, 128, 32, 32*/64, 160, 64, 16));CCSpriteFrame* m_frame2 = CCSpriteFrame::createWithTexture(texture, CCRectMake(/*32, 128, 32, 32*/ 64, 176, 64, 16));CCSpriteFrame* m_frame3 = CCSpriteFrame::createWithTexture(texture, CCRectMake(/*64, 128, 32, 32*/64, 192, 64, 16));CCSpriteFrame* m_frame4 = CCSpriteFrame::createWithTexture(texture, CCRectMake(/*96, 128, 32, 32*/64, 208, 64, 16));//3.生成逐帧数组CCArray *animFrames = CCArray::create();CC_BREAK_IF(!animFrames);animFrames->addObject(m_frame1);animFrames->addObject(m_frame2);animFrames->addObject(m_frame3);animFrames->addObject(m_frame4);//4.动画信息,设置间隔时间为0.5CCAnimation *animation = CCAnimation::createWithSpriteFrames(animFrames, 0.5f);CC_BREAK_IF(! animation);//5.设置起始帧CCSprite *hero = CCSprite::createWithSpriteFrame(m_frame1);CC_BREAK_IF(!hero);hero->setPosition(ccp(size.width/2, size.height/2));this->addChild(hero, 0);//6.创建并执行动画CCAnimate *animate = CCAnimate::create(animation);hero->runAction(CCRepeatForever::create(animate));bRet = true;


 

原创粉丝点击