2d isometric 座標變換

等軸遊戲的座標體系分紅3種; post

普通的笛卡爾座標系; orm


正則網格座標; blog

仿射網格座標; 遊戲


其中正則網格的寬度和高度是 仿射網格寬度 高度的一半; io

關鍵就是找到這三種座標的轉換公式: function

SIZEX, SIZEY 是菱形網格寬度高度的一半, class

從笛卡爾座標到正則網格 im

function cartesianToNormal(x, y)
    return round(x/SIZEX), round(y/SIZEY)
end next

從正則網格到仿射網格
function normalToAffine(nx, ny)
    return round((ny-nx)/2), round((nx+ny)/2)
end
img

相關文章
相關標籤/搜索