cocos2d-x 根据png序列图创建animation

之前都是使用TP格式化swf来创建动画,今天遇到了个问题,我拿到的动画序列图是合成好的一张png。没有plist文件。悲催...

现在只好自己画区域创建动画。

先看看png序列图。我就随便拿一个来用用。(先说明哈,该图是我从一个android游戏里面抽出来的。无侵权之意。)


  1. CCTexture2D *playerRunTexture = CCTextureCache::sharedTextureCache()->addImage("player_run.png");  
  2.     CCMutableArray<CCSpriteFrame*>* animFrames = new CCMutableArray<CCSpriteFrame*>(11);  
  3.     for(int i=0;i<8;i++){  
  4.         animFrames->addObject(CCSpriteFrame::frameWithTexture(playerRunTexture, cocos2d::CCRectMake(72*i, 0, 72, 72)));  
  5.     }  
  6.     //生成CCAnimation对象  
  7.     CCAnimation* animation = new CCAnimation();  
  8.     animation->initWithFrames(animFrames, 0.08f);  
  9.     animFrames->release();  
  10.     //创建动画  
  11.     CCAnimate *animate = CCAnimate::actionWithAnimation(animation, false);  
  12.       
  13.     CCSprite* player=CCSprite::spriteWithSpriteFrame(CCSpriteFrame::frameWithTexture(playerRunTexture, cocos2d::CCRectMake(0, 0, 72, 72)));  
  14.     player->runAction(CCRepeatForever::actionWithAction(animate));  
  15.     player->setPosition(ccp(100,mWinSize.height*.5-45));  
  16.     this->addChild(player,zOrder++);  

代码很简单,循环里面只用到了序列图1到8,后面三张是另外一个动作的。

OK,就这样咯,看看咱的效果:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值