在JavaFX程序中添加切片贴图的最有效方法是什么?
我用于创建平铺地图的程序称为“Tiled”,保存的文件为.tmx格式。
现在,问题是,如何在我的2D游戏中完全导入?我无法在网上找到有用的信息。
非常感谢代码示例。
由于
答案 0 :(得分:1)
使用Eppleton JavaFX TileEngine(很遗憾,此链接现已死亡:类似内容仍然托管在javageeks上:当心链接附带恼人的添加弹出式广告)。
更新:不幸的是,之前链接的eppleton博客条目已不再存在,其中包含有关使用JavaFX创建磁贴引擎的详细信息。
我还不知道如何导入文件。
您目前找不到某个人创建并打包为二进制jar的库,您可以将其添加到类路径中以获取JavaFX的通用磁贴读取器。
加载TileMap是一项复杂的任务。我提供的Eppleton链接提供了有关如何实现该任务以及源代码片段的详细信息。 Eppleton信息是JavaFX中TileMaps上最好的信息。通过使用Eppleton引擎,您可以减少将TileMap加载到以下所需的工作量:
TileMap map = TileMapReader.readMapFromFile(fileURL);
有一个github repository for the Eppleton game engine。我尝试了它,大部分代码都在那里,但项目的某些依赖项并没有为我解决,所以我无法构建它。您可以联系作者以获得有关解决依赖关系的帮助,或者您可以分叉引擎并对其进行修补以使其适合您。引擎似乎采用的方法是使用画布的抽象,以便引擎可以渲染到不同的画布类型(JavaFX画布就是其中之一)。但我找不到抽象层的代码。
时间地图阅读器的核心代码位于de.eppleton.fx2d.tileengine package。您可以分叉代码并对其进行研究,以便详细了解瓷砖地图阅读器的工作原理以及如何使其适应您的游戏。