1

私のカメラは正規化されたスペース(高さ1ユニット、幅1.5ユニット)に設定されています。しかし、ShapeRendererの円アルゴリズムは整数空間でのみ機能するようです。回避策はありますか?

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();
}

円である必要があります

4

1 に答える 1

3

ShapeRenderer半径の立方根の6倍を使用して、円を描くために必要なセグメントの数を推定します。

あなたの場合、4つのセグメントになります(6 * 0.793はおよそ4.76です)。あなたが見るものはどれですか。

ShapeRendererドキュメントによると、単位は画面ピクセルであると想定しているため、これらは妥当な見積もりです。

于 2013-01-28T08:04:00.210 に答える