圆圈 - 填充身体

时间:2013-10-23 05:36:09

标签: java android box2d libgdx geometry

我的scalling有问题。我的圈子没有按我的要求填充。

enter image description here

问题在于屏幕的分辨率不同。 Image我的基本窗口大小是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;
    }

0 个答案:

没有答案