2015-06-08 37 views
0

我正在通过LibGDX制作游戏,并在Eclipse中使用Java。我使用ShapeRenderer类来创建一个正常的矩形并连续旋转它。我使用从LibGDX文档中给出的逻辑来旋转矩形:LibGDX:在LibGDX中旋转后如何更改形状X Y坐标?

shapeRenderer.rect(x, y, width, height); 

然而,在文档给定旋转的示例中的矩形需要:

http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/glutils/ShapeRenderer.html#identity--

绘制矩形是通过进行以下代码:

shapeRenderer.rect(-width/2, -height/2, width, height); 

您可以看到代码旋转的形状需要“x”和“y”参数具有宽度和高度这意味着我无法控制矩形在旋转时的位置(准许矩形确实旋转,而不是我希望的旋转方向,而不是我想要的位置)。由于此代码,矩形的POSITION现在与其SIZE成比例。有没有什么办法可以解决这个问题,因为我需要给这个矩形给定一个尺寸和一个不同的x,y坐标。先谢谢你。

回答

0

使用“translate”将矩形放置在旋转后的所需位置。从文档到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(); 
+0

你是一个明星,它完美的作品谢谢你,我没有完全理解旋转画一个矩形框翻译方法。再次感谢 :) – Xaoilin