在使用CCSprite对象时,经常遇到需要更换贴图的时候。
比如在上个贪食蛇的游戏中,蛇前进的方向发生变化,蛇头的图片就要随着改变。
在网上查了些资料,实验并总结了一下。
首先需要把四个方向的蛇头图片使用texturepacker软件生成一个贴图集。
代码如下:
[cpp] view plaincopy
// 首先载入贴图集
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);