精靈是游戲中十分重要的組成部分,隨處可見,如:游戲背景、NPC、人物、道具等。在cocos2d-x引擎中,只要是用圖片展示的,基本上需要使用精靈類。
1. 首先來了解一下跟精靈相關的幾個類:
(1) CCTexture2D
可以把它看成一個紋理,它是cocos2d-x渲染圖形的重要參數,用來貼圖,因為cocos2d-x使用opengl es繪制2d圖形的,它的尺寸是2的n次方。一般通過以下方式獲得:
1 | CCTexture2D* cache = CCTextureCache::sharedTextureCache()->addImage( "hero.png" );
|
(2) CCSprite
這個就是精靈類,是CCNode的子類,它的內部封裝了CCTexture2D(紋理),可以通過下面幾種方式初始化精靈對象。
1 2 3 4 5 6 7 8 9 10 11 12 | //CCTexture2D表示精靈包含的圖片,范圍是整張圖片
static CCSprite* spriteWithTexture(CCTexture2D *pTexture);
//CCRect表示圖片的指定范圍,即從圖片的指定矩形區域裁剪
static CCSprite* spriteWithTexture(CCTexture2D *pTexture, const CCRect& rect);
//CCSpriteFrame表示精靈的某一幀,大多數情況下精靈本身的圖片有多幀。它內部封裝了CCTexture2D和CCRect,可以從一個大圖片取出一部分作為一幀。
static CCSprite* spriteWithSpriteFrame(CCSpriteFrame *pSpriteFrame);
//pszSpriteFrameName表示幀的名字,根據幀名從內存中取出CCSpriteFrame
static
|