如何在javafx中加载tmx / xml文件?

在JavaFX程序中添加切片贴图的最有效方法是什么?

我用于创建切片贴图的程序称为“Tiled”,保存的文件采用.tmx格式。

现在,问题是,如何在我的2D游戏中完全导入? 我无法在网上找到有用的信息。

代码示例非常感谢。

谢谢

使用Eppleton JavaFX TileEngine (遗憾的是这个链接已经死了:类似的内容仍然存在于javageeks : Beware链接附带恼人的添加弹出窗口 )。

更新 :不幸的是,之前链接的eppleton博客条目不再存在,其中包含有关使用JavaFX创建磁贴引擎的详细信息。

我还是不知道如何导入文件。

你现在找不到某个人已经创建并打包成二进制jar的库你可以添加到你的类路径来获得JavaFX的通用tile阅读器。

加载TileMap是一项复杂的任务。 我提供的Eppleton链接提供了有关如何实现该任务以及源代码片段的详细信息。 Eppleton信息是JavaFX中TileMaps上最好的信息。 通过使用Eppleton引擎,您可以减少将TileMap加载到以下方面所需的工作量:

TileMap map = TileMapReader.readMapFromFile(fileURL); 

有一个用于Eppleton游戏引擎的github存储库 。 我尝试了它,大部分代码都在那里,但项目的某些依赖项并没有为我解决,所以我无法构建它。 您可以联系作者以获得有关解决依赖关系的帮助,或者您可以分叉引擎并对其进行修补以使其适合您。 引擎似乎采用的方法是使用canvas的抽象,以便引擎可以渲染到不同的canvas类型(JavaFXcanvas就是其中之一)。 但我找不到抽象层的代码。

时间映射阅读器的核心代码位于de.eppleton.fx2d.tileengine包中 。 您可以分叉代码并对其进行研究,以便详细了解瓷砖地图阅读器的工作原理以及如何使其适应您的游戏。