我有缩放问题。我的圈子没有按我的意愿填充。
问题在于屏幕的不同分辨率。图片 我的基本窗口大小是 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;
}