Java LibGDX:在LibGDX中旋转后,如何更改a形状的xy坐标?

Java LibGDX:在LibGDX中旋转后,如何更改a形状的xy坐标?,java,android,rotation,libgdx,shape,Java,Android,Rotation,Libgdx,Shape,我正在通过LibGDX制作一个游戏,并在Eclipse中使用Java。我正在使用ShaperEnder类创建一个普通矩形,并连续旋转它。我使用LibGDX文档中给出的逻辑来旋转矩形: 通过以下方式绘制矩形: shapeRenderer.rect(x, y, width, height); 但是,文档中给出的旋转矩形的示例需要以下代码: shapeRenderer.rect(-width / 2, -height / 2, width, height); 您可以看到旋转形状的代码要求“x”和

我正在通过LibGDX制作一个游戏,并在Eclipse中使用Java。我正在使用ShaperEnder类创建一个普通矩形,并连续旋转它。我使用LibGDX文档中给出的逻辑来旋转矩形:

通过以下方式绘制矩形:

shapeRenderer.rect(x, y, width, height);
但是,文档中给出的旋转矩形的示例需要以下代码:

shapeRenderer.rect(-width / 2, -height / 2, width, height);
您可以看到旋转形状的代码要求“x”和“y”参数具有矩形的宽度和高度,这意味着在矩形旋转时,我无法控制要将其放置在何处(假设矩形确实按照我希望的方式旋转,而不是按照我希望的方式旋转)。由于此代码,矩形的位置现在与其大小成比例。有没有办法解决这个问题,因为我需要给矩形一个给定的大小和一个不同的x,y坐标。提前谢谢。

旋转后,您可以使用“平移”将矩形放置在所需位置。从文档中,在20,12,2处绘制一个沿z轴旋转的矩形,您将执行以下操作

shapeRenderer.begin(ShapeType.Line);
shapeRenderer.identity();
shapeRenderer.translate(20, 12, 2);
shapeRenderer.rotate(0, 0, 1, 90);
shapeRenderer.rect(-width / 2, -height / 2, width, height);
shapeRenderer.end();

你是一个明星,它工作得很好谢谢你,我没有完全理解翻译方法。再次感谢:)