LibGDX 正方形拉伸分辨率
LibGDX square stretches with resolution
我假设 ShapeRenderer.rect 以像素为单位绘制,但当我拉伸分辨率并将其变成矩形时它会拉伸正方形。
shapeRenderer.identity();
shapeRenderer.begin(ShapeType.Filled);
shapeRenderer.setColor(Color.BLUE);
shapeRenderer.rect(0, 0, 100, 100);
shapeRenderer.end();
我假设您使用的是正交相机
如果你写
camera = new OrthographicCamera(constant_Width, constant_Height);
这将导致您的矩形被拉伸,解决此问题的一种方法是使用比率
camera = new Orthographic Camera(Gdx.graphics.getWidth/Ratio, Gdx.graphics.getHeight/Ratio);
这应该可以解决您的问题。
享受:)
编辑:
我怎么忘了这部分
声明相机后,您需要执行此操作
camera.translate(Gdx.graphics.getWidth/Ratio/2, Gdx.graphics.getHeight/Ratio/2)
如果您错过了那条线,您 (0, 0) 将位于屏幕中央。我假设您希望 (0, 0) 位于屏幕的左下角。
我假设 ShapeRenderer.rect 以像素为单位绘制,但当我拉伸分辨率并将其变成矩形时它会拉伸正方形。
shapeRenderer.identity();
shapeRenderer.begin(ShapeType.Filled);
shapeRenderer.setColor(Color.BLUE);
shapeRenderer.rect(0, 0, 100, 100);
shapeRenderer.end();
我假设您使用的是正交相机
如果你写
camera = new OrthographicCamera(constant_Width, constant_Height);
这将导致您的矩形被拉伸,解决此问题的一种方法是使用比率
camera = new Orthographic Camera(Gdx.graphics.getWidth/Ratio, Gdx.graphics.getHeight/Ratio);
这应该可以解决您的问题。 享受:)
编辑:
我怎么忘了这部分
声明相机后,您需要执行此操作
camera.translate(Gdx.graphics.getWidth/Ratio/2, Gdx.graphics.getHeight/Ratio/2)
如果您错过了那条线,您 (0, 0) 将位于屏幕中央。我假设您希望 (0, 0) 位于屏幕的左下角。