Я работаю с SMFL/C++ над созданием 2D-изометрического игрового движка. Я получил это, когда выполнял изометрические расчеты:
Вот моя формула для расчета изометрических координат в моем 2D-движке:
Для координат IJ у меня есть:
Код: Выделить всё
x = (I - J) * (tileWidth / 2);
y = (J + I) * (tileHeight / 2);
//Totally working with classics tiles
РЕДАКТИРОВАТЬ: Моя проблема связана с формой моих плиток, которая представляет собой куб, но я понятия не имею, как это исправить. Действительно ли мне нужно выполнять какие-то сложные математические вычисления для обработки трехмерных объектов (я бы предпочел избежать этого) или я могу просто немного изменить формулу?
РЕДАКТИРОВАТЬ 2: Решение: int isoY = (x + y) * (height / 4);
Подробнее здесь:
https://stackoverflow.com/questions/336 ... ween-tiles