0

有没有办法调整精灵可见部分的边界?为了更容易理解:我有一个纹理,如图 1 所示。然后我将它分解成碎片并使用PRKit填充生成的碎片 (图 2 和 3 上的木材纹理)。但是生成的片段是透明的(图 2 和图 3 中的绿色),当从片段创建精灵时,它们具有初始纹理的大小。有没有办法摆脱这种透明度并调整可见部分(木材纹理)的大小,openGL或cocos2d-x是什么意思? 例子 也许它有帮助 - PRKit 中的 draw() 方法:

void PRFilledPolygon::draw() {

//CCNode::draw();

glDisableClientState(GL_COLOR_ARRAY);

// we have a pointer to vertex points so enable client state
glBindTexture(GL_TEXTURE_2D, texture->getName());

glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ONE_MINUS_SRC_ALPHA);
glVertexPointer(2, GL_FLOAT, 0, areaTrianglePoints);
glTexCoordPointer(2, GL_FLOAT, 0, textureCoordinates);

glDrawArrays(GL_TRIANGLES, 0, areaTrianglePointCount);

glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);

//Restore texture matrix and switch back to modelview matrix
glEnableClientState(GL_COLOR_ARRAY);}
4

1 回答 1

1

好的,我做到了。首先,我从 PRFilledPolygon(PRKit) 创建纹理,用于该 CCRenderTexture,之后我将生成的纹理应用于新的 CCSprite,然后我创建了一个边界框,使用来自 PRKit 站点的数据并使用 setTextureRect() 将其应用于精灵.

于 2012-06-30T05:46:40.227 回答