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