删除ShaperRenderer偏移

时间:2017-06-17 12:08:01

标签: java graphics libgdx

我想使用libgdx ShapeRenderer来模拟我的图形,但是我得到一个小但仍然令人讨厌的坐标不匹配。如libgdx wiki所述,屏幕坐标范围:(0,0)(左下角)到(Gdx.graphics.getWidth() - 1,Gdx.graphics.getHeight() - 1)(右上角)

以下是我尝试做的代码示例:

public static final int APP_WIDTH = 160;
public static final int APP_HEIGHT = 120;

private SpriteBatch batch;
private ShapeRenderer shapeRenderer;
private Texture texture;

...

public void render() {
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    if (DEBUG_MODE) {
        shapeRenderer.setAutoShapeType(true);
        shapeRenderer.setColor(Color.RED);
        shapeRenderer.begin();
        shapeRenderer.rect(0, 0, APP_WIDTH - 1, APP_HEIGHT - 1);
        shapeRenderer.end();
    } else {
        batch.begin();
        batch.draw(texture, 0, 0);
        batch.end();
    }
}

结果我得到: image link

正如您所看到的,纹理(160x120)的绘制方式与它应该完全相同,但矩形(使用shapeRenderer绘制)具有-1 x轴偏移。 当然,我可以在x + 1处绘制所有内容,但也许我做错了什么并且有一种方法可以使坐标匹配?

0 个答案:

没有答案
相关问题