我正在使用Tiled地图编辑器来创建简单的平铺地图。在我的地图中,我有几个矩形,如果我创建一个宽度为50,高度为10的矩形并将其精确旋转90°,请保存该地图并将其加载到我的LibGDX项目中,即可正确呈现形状-但是如果我使用随机角度,例如说26°,然后再次渲染地图,则不会获得所需的结果,实际上我得到的是恰好相反的所需角度。
我正在使用以下方法直接从地图中读取Tiled地图浮动:
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
,然后使用默认值创建我的身体。 最佳答案
您缺少一些数学知识。MathUtils.cosDeg( angleInDegrees )MathUtils.sinDeg ( angleInDegrees )