因此,我尝试使用TextureRegion
将多个FrameBuffer
合并为一个。当TextureRegion
s来自同一个Texture
对象/文件时,这非常有效,但是当我尝试将TextureRegion
s与不同的原始纹理组合时,只有TextureRegion
从一个纹理文件中绘制出来的。 <* 1}}具有不同纹理的原点不会被绘制。
例如,我有两个纹理:
TextureRegion
我设置Texture tex1 = new Texture(path to texture 1);
Texture tex2 = new Texture(path to texture 2);
TextureRegion reg1a = new TextureRegion(region from tex1);
TextureRegion reg2a = new TextureRegion(region from tex2);
TextureRegion reg1b = new TextureRegion(another region from tex1);
就像这样:
FrameBuffer
在我的绘制方法中,我执行以下操作:
buffer = new FrameBuffer(Pixmap.Format.RGBA8888, WIDTH, HEIGHT, true);
使用上述绘制方法,仅绘制buffer.begin();
batch.draw(reg1a, x, y);
batch.draw(reg2a, x, y);
buffer.end();
batch.draw(buffer.getColorBufferTexture());
。 reg1根本没有出现。
reg2
使用此绘制方法buffer.begin();
batch.draw(reg1a, x, y);
buffer.end();
batch.draw(buffer.getColorBufferTexture());
被绘制,因此纹理没有任何问题。
reg1
此绘制方法呈现buffer.begin();
batch.draw(reg1a, x, y);
batch.draw(reg1b, x, y);
buffer.end();
batch.draw(buffer.getColorBufferTexture());
和reg1a
,因为它们都来自同一个reg1b
对象/文件。
我希望能够做的是从同一Texture
中的不同TextureRegion
个对象中抽取Texture
并让它们都出现。
我尝试过在一个FrameBuffer中使用一个Texture,在另一个FrameBuffer中使用另一个,然后将这两个FrameBuffers绘制到一个新的FrameBuffer中,但这会产生同样的问题。
非常感谢任何帮助!