在平铺地图中获取相对路径

Get a relative path in a tiled map

当我用 Tiled 创建一个 tilemap 时,图像被附加为一个不是真正的相对路径:

<image source="../../../../../source/Assets/Resources/ExTexture.png" [...]>

这在 Tiled 中工作正常,但当我想使用 X-uniTMX 在 Unity3D 中导入地图时会出现问题。当我手动将 XML 更改为

<image source="ExTexture.png" [...]>

它就像一个魅力。

现在我的问题是如何在 Tiled 中导入 tilesets,这样我就可以摆脱这种奇怪的行为。

该路径表示您在创建图块集时在硬盘驱动器的某个位置打开了一张图像。您需要做的是将每个 tileset 图像复制到存储 TMX 文件的同一文件夹中,然后仅使用与 TMX 文件存储在同一文件夹中的图像创建 tilesets。这应该会导致没有路径的图像源引用。

最好将 TMX 文件添加到您的 Unity 项目中。然后打开并编辑现在位于您的统一项目资产路径中的 TMX 文件。这样,当添加图像时,它们也会自动出现在您的 Unity 项目中,您不必保持两个副本同步。

PS: 你引用的路径实际上是相对路径,毫无疑问。它只是相对于TMX文件的存储路径,这使得它对大多数游戏引擎没有用,因为它们使用自己的目录结构。