スケーリングに問題があります。私のサークルは私が望むように満たされていません。
問題は、画面の解像度が異なることです。画像 私のベース ウィンドウ サイズは 900x600 です。写真は1000x600です。この円を伸ばして体を埋めるだけで縦横比を維持したくありません。2番目の問題は、円ではなく円弧であることです。アークで複数の色の円を作成する必要があります。
画像 @up のコード:
cam = new OrthographicCamera(9, 6);
cam.position.set(9f/2, 6f/2, 0);
cam.update();
box2d での計算を容易にするための 9x6。shapeRenderer setProjectionMatrix または setTransform Matrix で sth を実行しようとしましたが、おそらく正しい方法がわかりません。何か案は?
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;
}