我决定使用Libgdx ShapeRenderer
来绘制多边形。我想看看它的效率如何,让相机在渲染时穿过x轴,但发生了一些奇怪的事情,请看这张图片:
在右侧,我没有移动相机,但在左侧我通过
移动了相机camera.translate(0.1f, 0);
这是我的代码:
public void setSize (int width, int height) {
float aspectRatio = (float) width / (float) height;
camera = new OrthographicCamera(30f * aspectRatio, 30f);
}
public void render() {
camera.update();
shapeRenderer.setProjectionMatrix(camera.combined);
shapeRenderer.begin(ShapeType.Line);
shapeRenderer.identity();
camera.translate(0.1f, 0);
shapeRenderer.setColor(0, 0, 1, 1);
shapeRenderer.polygon(new float[] {0,0,5,5,5,2.5f, 10,12.5f, 10,0});
shapeRenderer.end();
}
我不知道问题是什么,但我认为它不会删除它下面的图像。
答案 0 :(得分:2)
渲染前调用:
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);