我的scalling有问题。我的圈子没有按我的要求填充。
问题在于屏幕的分辨率不同。 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;
}