1

我有缩放问题。我的圈子没有按我的意愿填充。

在此处输入图像描述

问题在于屏幕的不同分辨率。图片 我的基本窗口大小是 900x600。图片为1000x600。我不想保持纵横比只是拉伸这个圆圈来填充身体。第二个问题是它不是圆而是圆弧。我必须用弧线做多色圆圈。

它是图片@up的代码:

cam = new OrthographicCamera(9, 6);
cam.position.set(9f/2, 6f/2, 0);
cam.update();

9x6 便于在 box2d 中进行计算。我试图用 shapeRenderer setProjectionMatrix 或 setTransform Matrix 做某事,但可能我不知道如何正确地做。有任何想法吗?

    x = body.getPosition().x;
    y = body.getPosition().y;

    Vector3 v = new Vector3(x, y, 0);
    cam.project(v);

    Vector3 rad = new Vector3(radius * 0.99f, (float) Math.toDegrees(body.getAngle()), 0);
    cam.project(rad);

    float angle = 360 / colorList.size();

    float start = 0;
    for(Color c : colorList)
    {
        shapeRenderer.setColor(c);
        //shapeRenderer.circle(v.x, v.y, rad.x);
        //shapeRenderer.
        shapeRenderer.arc(v.x, v.y, rad.x, (float) (start+Math.toDegrees(body.getAngle())), angle,30);
        start += angle;
    }
4

0 回答 0