在eclipse中将项目构建为可执行jar文件时,不会呈现缓冲图像
问题描述:
因此,我正在为我的编程类开发2D平铺游戏。我已经完成了渲染图像和移动游戏的基础知识。当我在eclipse中运行项目时,所有图像都可以工作。当我将它构建为一个可执行的jar文件时,没有任何图像出现。在eclipse中将项目构建为可执行jar文件时,不会呈现缓冲图像
这是它应该是什么样子 What is should look like
这是当我运行可执行的JAR文件会发生什么(当我在Eclipse中我的当前设置运行)。 What I get
我的图片加载在资产类,像这样:
SpriteSheet sheet = new SpriteSheet(ImageLoader.ImageLoader("/textures/sheet.png"));
这里是图像装载机:
public class ImageLoader
{
public ImageLoader()
{
}
public static BufferedImage ImageLoader(String path)
{
try {
return ImageIO.read(ImageLoader.class.getResource(path));
} catch (IOException ex) {
ex.printStackTrace();
System.exit(1);
}
return null;
}
}
我已经在构建路径指定的两个文件夹是src和水库。 我知道它正在将图像构建到jar中,因为如果我将它提取出来,就可以看到它们。
任何想法,我搞砸了?
答
很确定你需要添加一个Res文件夹到构建路径。
Res文件夹是您的所有精灵表应该在哪里。
右键单击您的项目并编辑构建路径。
尝试添加纹理文件夹到您的构建路径
编辑 文件夹不需要被命名为“RES”
+0
我已经做到了。见[这里](https://www.dropbox.com/s/og0loomt8g5hm7m/6.jpg?dl=0) –
打开罐子,例如用7Zip的或WinZip或蚀。路径'“/textures/sheet.png”'应该在那里。它也是区分大小写的(与Windows相对)。 –
构建为可执行jar只是将单个条目添加到清单文件 –
ImageLoader方法应该命名为imageLoader。 System.exit调用应该从imageLoader方法中移除。如果纹理目录位于Java类路径中,则路径名称将为“/sheet.png”。 –