Fixed backend tmx parsing for ortho map.

This commit is contained in:
genxium
2022-11-16 21:32:25 +08:00
parent 7e12853a73
commit 7b9172c27b
3 changed files with 21 additions and 4 deletions

View File

@@ -406,6 +406,12 @@ type TileRectilinearSize struct {
}
func (pTmxMapIns *TmxMap) continuousObjLayerVecToContinuousMapNodeVec(continuousObjLayerVec *Vec2D) Vec2D {
if "orthogonal" == pTmxMapIns.Orientation {
return Vec2D{
X: continuousObjLayerVec.X,
Y: continuousObjLayerVec.Y,
}
}
var tileRectilinearSize TileRectilinearSize
tileRectilinearSize.Width = float64(pTmxMapIns.TileWidth)
tileRectilinearSize.Height = float64(pTmxMapIns.TileHeight)
@@ -428,6 +434,17 @@ func (pTmxMapIns *TmxMap) continuousObjLayerVecToContinuousMapNodeVec(continuous
}
func (pTmxMapIns *TmxMap) continuousObjLayerOffsetToContinuousMapNodePos(continuousObjLayerOffset *Vec2D) Vec2D {
if "orthogonal" == pTmxMapIns.Orientation {
layerOffset := Vec2D{
X: float64(pTmxMapIns.Width*pTmxMapIns.TileWidth) * 0.5,
Y: float64(pTmxMapIns.Height*pTmxMapIns.TileHeight) * 0.5,
}
return Vec2D{
X: continuousObjLayerOffset.X - layerOffset.X,
Y: continuousObjLayerOffset.Y - layerOffset.Y,
}
}
// "isometric" == pTmxMapIns.Orientation
layerOffset := Vec2D{
X: 0,
Y: float64(pTmxMapIns.Height*pTmxMapIns.TileHeight) * 0.5,