Java libgdx中的SpriteBatch和shaperender绘图顺序
我必须订购屏幕上绘制的精灵和形状 在render方法中多次调用SpriteBatch和ShaperEnder的开始和结束是否可以 有没有办法避免这种情况 我的要求Java libgdx中的SpriteBatch和shaperender绘图顺序,java,libgdx,Java,Libgdx,我必须订购屏幕上绘制的精灵和形状 在render方法中多次调用SpriteBatch和ShaperEnder的开始和结束是否可以 有没有办法避免这种情况 我的要求 shapeRenderer.begin(ShapeRenderer.ShapeType.Line); shapeRenderer.setProjectionMatrix(batch.getProjectionMatrix()); shapeRenderer.rect(....); shapeRenderer.end(); batc
shapeRenderer.begin(ShapeRenderer.ShapeType.Line);
shapeRenderer.setProjectionMatrix(batch.getProjectionMatrix());
shapeRenderer.rect(....);
shapeRenderer.end();
batch.begin();
for (int i = 0; i < spriteList.size(); i++) {
spriteList.get(i).render(batch);
}
batch.end();
shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
shapeRenderer.setProjectionMatrix(batch.getProjectionMatrix());
shapeRenderer.setColor(Color.GRAY.r,Color.GRAY.g, Color.GRAY.b, 1);
shapeRenderer.rect(....);
shapeRenderer.end();
batch.begin();
score.render(batch);
batch.end();
shaperender.begin(shaperender.ShapeType.Line);
setProjectionMatrix(batch.getProjectionMatrix());
整形器矩形(..);
shaperender.end();
batch.begin();
对于(int i=0;i
不,没有。如果你有一个特定的顺序,你想画的东西,需要不同的批次,你必须调用结束和开始重复。从图书馆的角度来看,这是一个糟糕的设计,但它就是这样工作的
在这方面没有解决办法,我怀疑会有任何解决办法。因此,每次更改渲染器时都必须调用begin和end