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指针数组的指针。