CCTexture2D、CCTextureAtlas、CCSprite及CCSpriteBatchNode

来源:互联网 发布:java能做什么 编辑:程序博客网 时间:2024/05/02 02:51

CCTexture2D的成员变量

m_tContentSize    图片的原始大小

m_uPixelsWide    大于等于原始宽度的最接近原始宽度的2的幂次方

m_uPixelsHeight    大于等于原始高度的最接近原始高度的2的幂次方

m_fMaxS     m_tContentSize .x / m_uPixelsWide

m_fMaxT     m_tContentSize .y / m_uPixelsHeight  


CCTextureAtlas:

int  m_uCapacity 图块数组的容量

int  m_uTotalQuads       当前使用的图块的数目

GLushort            *m_pIndices;      使用此大图中的图块的精灵对应的三角形索引数组的指针。数组中六个元素对应一个图块,每个元素对应图块中一个顶点索引。

注:

1 一个图块(四边形)由两个三角形组成。

2 四边形的顶点顺序依次是(左下[0], 右下[1], 左上[2], 右上[3])

GLuint              m_pBuffersVBO[2]; 

ccV3F_C4B_T2F_Quad* m_pQuads    此数组一个元素对应一个图块。每个元素由四个点组成,每个顶点由V3F(坐标:x,y,z),C4B(颜色:RGBA)和T2F(?)组成。

CCTexture2D  *m_pTexture



CCSprite的成员变量

CCTextureAtlas* m_pobTextureAtlas

CCSpriteBatchNode* m_pobBatchNode

CCTexture2D* m_pobTexture

bool m_bUseBatchNode    标识他的父节点是不是一个CCSpriteBatchNode

unsigned int m_uAtlasIndex  当前精灵所用的CCtexture 在CCTexturAtlas的m_pQuads数组中的索引

ccV3F_C4B_T2F_Quad m_sQuad

如果一个精灵的纹理来自于CCTextureAtlas,那么m_pobTextureAtlas +  m_uAtlasIndex可以唯一的确定这个精灵的纹理。


CCSpriteBatchNode:

CCTextureAtlas* m_pobTextureAtlas

CCArray* m_pobDescendants      指向存放所有使用此纹理中的图块的CCSprite指针数组的指针




原创粉丝点击