所以我一直在使用Slick2D制作一种LoZ衍生游戏,以便更好地使用Java,我想我现在想出如何导出它以便我可以在不同的机器上测试它。
我现在遇到的问题是,一旦我导出了整个项目,一旦双击创建的项目就没有任何反应。我的意思是屏幕尺寸,位置和一切都是正确的,但不是任何图形显示,它只是一个白色的屏幕。我在这里尝试过一些答案,例如使用Fat-Jar Exporter,但它们没有用。
可能是因为我没有使用正确的设置等吗?我用来将我的图片导入我的Tile类的代码是:
public static BufferedImage background, terrain, items, characters;
public Tile()
{
try {
/*Tile.background = ImageIO.read(getClass().getResource("res/bg.png"));*/
Tile.background = ImageIO.read(Tile.class.getResourceAsStream("/bg.png"));
//Tile.terrain = ImageIO.read(new File("res/terrain.png"));
Tile.characters = ImageIO.read(Tile.class.getResourceAsStream("/characters.png"));
//Tile.items = ImageIO.read(new File("res/items.png"));
} catch (IOException e) {
System.out.println("Error Loading Images");
}
}
代码中注释掉的位是我之前尝试过的东西,不包括Tile.terrain和Tile.background。我有一个res文件夹,我已将其作为构建路径上的源文件夹包含在项目的属性中。该res文件夹有几个子文件夹(World,GUI和Sound)以及其中的一些文件(bg.png,characters.png)。以下是res文件夹在Windows资源管理器中作为文件路径的显示方式: C:\ WORKAREA \的Java2D \ RES
有没有人知道该怎么做?
所以在按照你的建议JB Nizet之后,运行jar后我的命令提示符出现以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/newdawn/slick/SlickException
at org.rc.Core.start(Core.java:89)
at org.rc.Core.main(Core.java:81)
Cause by: java.lang.ClassNotFoundException: org.newdawn.slick.SlickException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPriveliged(Native Method)
at java.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadCLass(Unknown Source)
at java.lang.ClassLoader.loadClass(unknown Source)
... 2 more
所以我已经想出如何将Slick和what-not打包在一起(我使用JarSplice将它们拼凑在一起),现在我收到了与资源相关的错误:
Exception in thread "main" java.lang.RuntimeException: Resource not found: res/World/Level_1.tmx
at org.newdawn.slick.util.ResourceLoader.getResourcAsStream(ResourceLoader.java:69)
at org.newdawn.slick.tiled.TiledMap.<init>(TiledMap.java:106)
at org.rc.Level<init>(Level.java:32)
at org.rc.Core.start(Core.java:89)
at org.rc.Core.main(Core.java:81)
这告诉我,我没有正确引入我的资源,即使在Eclipse的项目查看器中,我的res文件夹是构建路径上的源文件夹。
有谁知道该怎么做?
所以我决定在项目工作之后将项目带到NetBeans amnd。对于有我描述的问题的任何人,请尝试。
我的帮助。 ^^