在 JavaFX 程序中添加图块地图的最有效方法是什么?
我用来创建瓦片地图的程序称为“Tiled”,保存的文件为.tmx 格式。
现在的问题是,如何将其准确导入到我的 2d 游戏中?我无法在网上找到有用的信息。
非常感谢代码示例。
Thanks
Use the Eppleton JavaFX TileEngine http://jayskills.com/?s=tile+engine(不幸的是,这个链接现在已经失效:类似的内容仍然托管在java极客 https://www.javacodegeeks.com/2013/01/writing-a-tile-engine-in-javafx.html: 当心链接带有烦人的添加弹出窗口).
Update:不幸的是,之前链接的 eppleton 博客条目(其中包含有关使用 JavaFX 创建图块引擎的详细信息)已不复存在。
我仍然不知道如何导入该文件。
目前您不会找到某人创建并打包为二进制 jar 的库,您只需将其添加到类路径即可获得 JavaFX 的通用图块阅读器。
加载 TileMap 是一项复杂的任务。我提供的 Eppleton 链接提供了有关如何实现该任务的详细信息以及源代码片段。 Eppleton 信息是 JavaFX 中的 TileMaps 上最好的信息。通过使用 Eppleton 引擎,您可以减少加载 TileMap 所需的工作量:
TileMap map = TileMapReader.readMapFromFile(fileURL);
有一个Eppleton 游戏引擎的 github 存储库 https://github.com/eppleton/FXGameEngine。我尝试了它,大部分代码都在那里,但项目的一些依赖项没有为我解决,所以我无法构建它。您可以联系作者以获取解决依赖关系的帮助,也可以分叉引擎并修补它以使其能够为您工作。引擎似乎采取的方法是使用画布的抽象,以便引擎可以渲染成不同的画布类型(JavaFX 画布就是其中之一)。但我找不到抽象层的代码。
时间地图阅读器的核心代码位于de.eppleton.fx2d.tileengine 包 https://github.com/eppleton/FXGameEngine/tree/master/tileengine/src/main/java/de/eppleton/fx2d/tileengine。您可以分叉代码并研究它,以详细了解图块地图阅读器的工作原理以及如何使其适应您的游戏。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)