当前位置: 首页 > 面试题库 >

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

司空温书
2023-03-14
问题内容

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

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

现在,问题是,如何将其准确导入我的2d游戏中?我一直无法在网上找到有用的信息。

代码示例非常感谢。

谢谢


问题答案:

使用Eppleton JavaFX
TileEngine
(不幸的是,此链接现在已失效:类似的内容仍托管在javageeks上: 当心链接带有令人讨厌的add popup )。

更新 :不幸的是,以前链接的eppleton博客条目不再存在,该条目包含有关使用JavaFX创建切片引擎的详细信息。

我仍然不知道如何导入文件。

当前您不会找到有人创建并打包为二进制jar的某些库,您可以将其添加到类路径中以获得JavaFX的通用切片读取器。

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

TileMap map = TileMapReader.readMapFromFile(fileURL);

有一个Eppleton游戏引擎的github存储库。我尝试了它,并且大多数代码都在那儿,但是项目的某些依赖项对我来说没有解决,所以我无法构建它。您可以与作者联系以寻求解决依赖性的帮助,也可以派生引擎并对它进行修补以使其能够为您工作。引擎似乎采取的方法是对画布使用抽象,以便引擎可以呈现为不同的画布类型(JavaFX
canvas是其中之一)。但是我找不到抽象层的代码。

时间图读取器的核心代码在de.eppleton.fx2d.tileengine程序包中。您可以分叉代码并对其进行研究,以了解瓷砖贴图阅读器如何详细工作以及如何适应游戏。



 类似资料:
  • 当我在spack-2.2.0中加载xml文件时,如下所示: 它向我展示了一个错误: JAVAlang.ClassNotFoundException:未能找到数据源:xml。请在http://spark.apache.org/third-party-projects.html在org。阿帕奇。火花sql。处决数据源。数据源$。org上的lookUpdateSource(DataSource.scal

  • 我有一个xml文件,想要加载一些网页。如何这样做。

  • 问题内容: 我想在javafx 2.0中显示svg图像,但在API中找不到这样的东西。我猜是因为它仍处于测试阶段。 在最终版本发布之前,如何加载svg?是否已经有一个可以处理此问题的库,还是我需要解析自己的文件然后创建相应的形状? 谢谢 问题答案: 根据这个问题的答案,我找到了一个可行的解决方案。 1.包括对蜡染SVG工具包罐的引用 2.实现自己的转码器 (基于此答案由Devon_C_Miller

  • 因此,在我尝试编写JavaFX教程和FXML示例时。但是,每当我在.fxml文件中向GridPane中添加一些内容时,程序就会崩溃。它打开一个普通的GridPane,如果没有其他东西放在其中。 } 究竟是什么原因导致它坠毁?

  • 在上下文参数中加载上下文和在调度程序 Servlet 的初始化参数中加载上下文之间有什么区别? 相对 我的理解是context-参数由上下文侦听器加载,应该只包含中间层bean。Dispatcher Servlet在其init方法中应该加载web层bean。这种理解正确吗?为什么我们分别加载两个东西?

  • 我在Inkscape中创建了一个SVG图像。我把它和我的类放在同一个目录中。 有没有办法加载该图像并将其转换为SVG路径? 这背后的想法是用< code>getClass()获取图像。getResource("image.svg ")。toExternalForm()并将其转换为< code > imagesvg . set content()方法的SVGPath。之后,我想用< code>but