Я использую редактор Tiled для создания простой плиточной карты. В моей карте у меня есть несколько прямоугольников, если я создаю прямоугольник шириной 50 и высотой 10 и поверну его ровно на 90 °, сохраните карту и загрузите ее в моем проекте LibGDX, форма будет обработана правильно, однако если я используйте случайный угол, скажем, 26 °, например, и снова отрисую карту, я не получаю желаемого результата, на самом деле я получаю точный напротив нужного угла.LibGDX Angle/Rotation Issue
Я читаю карту поплавок Плиточной непосредственно с карты с помощью:
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
, а затем создадим мое тело со значениями по умолчанию.
Не совсем ответ, который я искал, но меня на правильном пути, чтобы найти это: '' 'Math.cos (Math.toRadians (objectRotation))' '' – snh