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

xml FileNotFoundException使用Java中的slick2D库

景宏朗
2023-03-14
问题内容

private ConfigurableEmitter emitter;

File xmlFile = new File("ressources/emitter.xml");
emitter = ParticleIO.loadEmitter(xmlFile);

如果我在eclipse中启动项目,那么一切都会正常,但是在导出项目并使用JarSplice创建.jar文件之后,当我使用命令提示符启动jar文件时,该程序将崩溃,无法启动FileNotFoundException,并说它找不到指定的路径。

java.io.FileNotFoundException: ressources\emitter.xml (The system cannot find the
path specified)

令人惊讶的是,在打开xml文件之前,我打开了一个与xml文件位于同一位置的.png文件,这没有任何问题。另外,当我打开使用Winrar导出的.jar文件时,可以在ressources文件夹下找到我的xml文件。这可能是什么问题?

谢谢!

编辑:

解决方案代码:

InputStream i=this.getClass().getClassLoader().
    getResourceAsStream("ressources/test.xml");
emitter = ParticleIO.loadEmitter(i);

问题答案:

当您将项目打包到JAR时,资源不会驻留在磁盘上,而是被压缩到JAR本身中,因此您必须作为资源加载。
关于如何从JAR加载资源的方法,有很多关于SO的指南ClassLoader.getResourceAsStrem()(遵循此链接)



 类似资料:
  • Slick2D是一套2D游戏开发工具类库,包装了LWJGL, OpenGL。使用java语言编写,使得java2d游戏开发更简单。 API文档:http://slick.ninjacave.com/javadoc/

  • 我需要使用JavaSlick库创建一个固定大小的2D网格,例如20x20。目前我有一个包含符号(文本)的数组[]。这些符号代表棋盘上的不同瓷砖(正方形)。 我知道如何在屏幕上渲染/绘制单个图像,但不确定如何在网格上执行相同的操作(循环?对游戏来说渲染不是太多吗?)。我应该研究精灵表的概念吗? 理想情况下,我想创造 平铺对象:平铺、平铺、大小、图像(基于类型) 我不知道如何在屏幕上绘制/渲染它。我应

  • 所以我正在做我的第一个java任务,就是用Slick2D制作一个非常基本的游戏。这是我目前所拥有的 注意左手边的小黄车。我需要这辆车在屏幕上从左到右移动。将总线呈现为静止状态很容易: 但是我需要用'delta'把它从左移到右。现在我知道更新方法中有delta: 但是render方法没有。 如何将delta的值输入到render方法中? (如果不改变方法,签名显然会在使用slick2d时搞砸所有事情

  • 如果解释得不好,我很抱歉。我会回答你可能有的任何问题。 下面是用于创建蓝色矩形的代码块: 我想写一个修改版本的代码,以调整的阿尔法通道的矩形。 同样,我使用三角形来近似一个圆,并允许适当的光线投射。

  • 问题内容: 我有Slick2D库,并使用Java做游戏。我一直想知道,只是一个简短的问题,如何在Graphics对象上设置字体以绘制不同的字体。我不能使它工作。我认为这与AngelCode有关,但是需要某种不是’.tff’的格式,所以我不知道。 那你能告诉我你怎么做吗? 问题答案: 您可以使用天使代码的BMF字体工具,该工具使用带有存储字符图像的字形图像的位图字体文件,以及描述该图像文件的文本文件

  • 我正在用Java编写一个2D月球着陆器风格的游戏,并使用Slick2D库处理图形。我在处理背景图像时遇到问题。 这是我的问题:我有3层细节要画在飞船后面的背景上(星星、山脉和土地包括着陆地点)。当船(屏幕中心)移动时,这些会重新绘制每个循环。 这些图层的图像宽4500像素,高1440像素。这主要是为了创造一些变化感(星星),并且足够宽以容纳生成的山脉和土地(土地包括着陆点)。山脉和土地是每回合产生