1. 程式人生 > >cocos2d-x如何實現plist圖集檔案的呼叫

cocos2d-x如何實現plist圖集檔案的呼叫

首先說說我們的普通的生成精靈的方式:

CCSprite *mSprite = CCSprite::create(name.png);

mSprite->setPosition(ccp(PositionX.PositionY));

this->addChild(mSprite,層級,標籤);

如何呼叫圖集中的單張圖片呢?

首先使用TexturePacker將該場景中所需要使用的圖片打包,然後會自動生成所一個name.plist檔案和一張打包壓縮的name.png格式的圖集。

第一步:使用CCSpriteFrameCache *frameCache = 

             CCSpriteFrameCache::sharedSpriteFrameCahce();

             首先就是建立一個圖集的緩衝池。

第二步:將圖集檔案新增到緩衝池中

             frameCache->addSpriteFrameWithFile(name.plist,name.png);

使用這樣的方法將圖集檔案和打包圖集都添加了進來,下來就是如何使用圖集了。

如何使用圖集裡面的圖片是一個很簡單的方法,和我們平時使用的建立精靈的方法是一樣的:

CCSprite *mSprite = CCSprite::createWithSpriteFrameName(xxoo.png);

mSprite->setPosistion(ccp(PositionX,PositionY));

This->addChild(mSprite,層級,標籤);

如何使用單個序列幀的精靈呢?

我們來看看,其實和普通建立精靈的方法幾乎是類似的,只是使用的不同的方式將精靈的名字調用出來:

例如:name1.png  name2.png  name3.png  name4.png  name5.png  name6.png

只調用一幀的方法:

CCSprite *mSprite = 

CCSprite::create(CCString::createWithFormat(name%d.png,i)->getCString());

mSprite->setPosition(ccp(PositionX.PositionY));

this->addChild(mSprite,層級,標籤);

注:其中的i指的是精靈圖片的名字的序列數

生成精靈圖片的方式很多,我們是需要在不同的場合使用合適的方式就可以。