Android LibGdx don';t在浮动空间中正确地画一个圆

Android LibGdx don';t在浮动空间中正确地画一个圆,android,math,libgdx,Android,Math,Libgdx,我的相机设置为标准化空间(高度1个单位,宽度1.5个单位)。但ShaperEnder的圆算法似乎只适用于整数空间。有解决办法吗 public void create() { camera = new OrthographicCamera(); camera.setToOrtho(false, 1.5f, 1f); shapes = new ShapeRenderer(); } public void drawScene() { Gdx.gl.glClearCol

我的相机设置为标准化空间(高度1个单位,宽度1.5个单位)。但ShaperEnder的圆算法似乎只适用于整数空间。有解决办法吗

public void create() {
    camera = new OrthographicCamera();
    camera.setToOrtho(false, 1.5f, 1f);
    shapes = new ShapeRenderer();
}

public void drawScene() {
    Gdx.gl.glClearColor(1, 1, 1, 1);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

    shapes.setProjectionMatrix(camera.combined);
    shapes.begin(ShapeType.Circle);
    shapes.setColor(1, 0, 0, 1);
    shapes.circle(0.75f, 0.5f,0.5f);
    shapes.end();
}

ShaperEnder
用于估计绘制圆所需的线段数

在您的例子中,您将得到4个段(6*0.793大约是4.76)。这就是你看到的


shaperender
假设单位是屏幕像素,因此这些是合理的估计值。

您可以尝试通过调用
shaperender.circle(float x,float y,float r,int segmentCount)手动设置分段计数。