LibGDX角度/旋转问题

时间:2015-03-28 15:30:41

标签: java libgdx

我正在使用Tiled地图编辑器来创建一个简单的平铺地图。在我的地图中我有几个矩形,如果我创建一个宽度为50且高度为10的矩形并将其旋转90°,保存地图并将其加载到我的LibGDX项目中,形状就能正确呈现 - 但是如果我使用一个随机角度,比方说26°,我再次渲染地图,我没有得到理想的结果,实际上我得到精确相反的所需角度。

我正在使用以下方式直接从地图上阅读Tiled map float:

 Map map = new TmxMapLoader().load(mapLocation + mapName + mapExtension);
 for (MapLayer mapLayer : map.getLayers()) {
     for (MapObject mapObject : mapLayer.getObjects() {
          MapProperties objectProperties = mapObject.getProperties();

          float objectRotation = objectProperties.get("rotation") != null ? Float.parseFloat(objectProperties.get("rotation").toString)) : 0.0f;
          objectRotation = MathUtils.degRad * objectRotation;
     }
 }

MathUtils.degRad将直接从地图属性读取的度数转换为弧度,但是在某处某处发生误读或者我完全错过了某些内容。

稍后,我创建bodyDef并使用objectRotation将其角度设置为上述bodyDef.angle = objectRotation,然后使用默认值创建我的身体。

1 个答案:

答案 0 :(得分:1)

你错过了一些数学。

MathUtils.cosDeg( angleInDegrees ) MathUtils.sinDeg ( angleInDegrees )