我一直在研究他们在 wiki 的教程部分提供的 Asteroids Game 示例代码,但遇到了一个奇怪的错误。
该代码在我的开发环境 Eclipse 中运行良好。游戏正常运行并正常退出。
我在文件菜单中完成导出过程并创建一个可执行 jar,当使用此批处理文件代码运行时
java -Djava.library.path=D:\Tools\lwjgl-2.8.4\lwjgl-2.8.4\native\windows -jar SpaceInvaders.jar
尝试加载 wav 文件时启动显示并失败。给出这个错误。
Exception in thread "main" java.lang.NullPointerException
我追踪到代码中发生这种情况的位置,它位于加载 wav 的位置。显然在环境之外它无法找到文件,即使它们就在代码旁边?我所有的 wav 文件和 gif 文件现在都与 java 类文件位于同一目录中,因此从代码中调用它们看起来像这样:
在谷歌上搜索东西它告诉我将它们压缩到一个单独的文件中,然后导入到类文件夹并从那里引用。我想知道是否有办法将文件保存在我的主 jar 文件中,而不必创建一个单独的实体。
感谢您的回复!如果需要更多信息,请告诉我。