在SpriteBatch.begin/end中嵌套ShapeRenderer.begin/end

6

SpriteBatchbeginend调用之间使用ShapeRenderer绘制形状是否可行?

我尝试过,但没有结果,只有SpriteBatch的纹理被绘制,场景中没有形状。以下是示例代码:

shapeRenderer.begin(ShapeType.FilledCircle);
shapeRenderer.setColor(0f, 1f, 0f, 1f);
shapeRenderer.filledCircle( 100, 100, 100);
shapeRenderer.end();

我有一个正交相机,创建方式如下:

camera = new OrthographicCamera(1, Gdx.graphics.getHeight() / Gdx.graphics.getWidth());
camera.setToOrtho(true);
1个回答

8

ShapeRendererSpriteBatch都会在OpenGL中设置状态,他们期望这些状态在使用过程中保持不变。嵌套它们可能会产生问题。请参见badlogic论坛中的这篇帖子

文档中应该更清晰地解释这一点。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接