cocos2d-x中CCSprite更换图片

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

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

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

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

代码如下:

 

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


 

你可能感兴趣的:(游戏)