0

スプライトの可視部分の境界を調整する方法はありますか? わかりやすくするために、図 1 に示すようなテクスチャがあります。次に、それを断片に分割し、PRKi​​tを使用して結果の断片を塗りつぶします (図 2 と 3 の木のテクスチャ)。しかし、結果のフラグメントは透明 (図 2 と 3 の緑色) になり、フラグメントからスプライトを作成すると、初期テクスチャのサイズになります。この透明度を取り除き、見える部分 (木のテクスチャ) のサイズを調整する方法はありますか? 例 たぶんそれが役立つ - 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 に適用し、PRKi​​t のサイトのデータを使用してバウンディング ボックスを作成し、setTextureRect() を使用してスプライトに適用します。 .

于 2012-06-30T05:46:40.227 に答える