在使用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);