我正在使用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
,然后使用默认值创建我的身体。
答案 0 :(得分:1)
你错过了一些数学。
MathUtils.cosDeg( angleInDegrees )
MathUtils.sinDeg ( angleInDegrees )