需要在Unity 4.3.4中使用Tiled Map编辑器

时间:2014-05-05 04:23:44

标签: c# unity3d

几周前我转向了团结。我正在开发2D平台游戏。为了创建地图,我使用www.mapeditor.org上的Tiled地图编辑器。我创建了一个基本地图。将tileSheet png和.tmx文件(保存为XML)包含在项目的Assets中。我能够阅读XML,这就是所有的gid。但我不知道如何从对应于gid的tileSheet访问特定部分(tile)。

我认为为此我需要在内存中加载精灵并从纹理内存中选择一个图块(通过指定高度和宽度和坐标)以在屏幕上显示它。如下所示:http://gamedevelopment.tutsplus.com/tutorials/parsing-and-rendering-tiled-tmx-format-maps-in-your-own-game-engine--gamedev-3104 但它的闪存,我如何使用C#在Unity中实现相同的功能。请注意flash代码中的copyPixel内容。我以为我可以使用ReadPixels,但它只用于从屏幕上读取而不是纹理内存。

感谢。

2 个答案:

答案 0 :(得分:6)

如果您在Windows中工作,那么Tiled2Unity Utility听起来就像是符合您的需求。它导出对象层,并考虑到Unity 4.3的功能。

(完全披露:我是Tiled2Unity的作者)

编辑:Tiled2Unity现在也可供Mac用户使用。 Linux用户有一个命令行版本。 (全部免费)

答案 1 :(得分:2)

如果你能更仔细地描述你的问题以及你想要做什么,也许我自己或某人可以更好地帮助你,例如你究竟是什么意思"将精灵加载到记忆中"?或者"选择一个瓷砖"?复制像素数据是很慢的,希望你并不是要实时做这件事。

这是我真正的建议:

你检查过UTiled吗?它在Unity中以2D形式绘制平铺地图,因此我认为它已经完成了您想要的并且它是免费的。 还有UniTMX ......免费。 还有' Tiled Tilemaps' ...就像$ 2。 我还建立了一个系统,也可以做我认为你想做的事情(你的链接坏了,所以我不能确定)。
我构建的系统名为' Tiled to Unity' (你可以在youtube中搜索它,看它是否符合你的要求)。它允许您将游戏对象附加到图块并具有图块变体,并且可以执行3D图块。 无论如何,尝试将自己的管道从Tiled卷成Unity是一项繁重的工作,并且有了这些工具,我认为这几乎肯定是不必要的......这只是imo。