cocos2d-x中CCSprite更换图片


在使用CCSprite对象时,经常遇到需要更换贴图的时候。

比如在上个贪食蛇的游戏中,蛇前进的方向发生变化,蛇头的图片就要随着改变。

在网上查了些资料,实验并总结了一下。

首先需要把四个方向的蛇头图片使用texturepacker软件生成一个贴图集。

代码如下: 

  1. // 首先载入贴图集   
  2. CCSpriteBatchNode *spriteBatch=CCSpriteBatchNode::batchNodeWithFile("snake.png");  
  3. this->addChild(spriteBatch);  
  4. CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("snake.plist");  
  5. // 生成Sprite   
  6. CCSprite *headSprite=CCSprite::spriteWithSpriteFrameName("headup.png");  
  7. //需要更换图片时   
  8. CCSpriteFrame *frame=CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("headleft.png");  
  9. headSprite->setDisplayFrame(frame);  

相关内容