在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中,因为如果我将它提取出来,就可以看到它们。

任何想法,我搞砸了?

+1

打开罐子,例如用7Zip的或WinZip或蚀。路径'“/textures/sheet.png”'应该在那里。它也是区分大小写的(与Windows相对)。 –

+0

构建为可执行jar只是将单个条目添加到清单文件 –

+0

ImageLoader方法应该命名为imageLoader。 System.exit调用应该从imageLoader方法中移除。如果纹理目录位于Java类路径中,则路径名称将为“/sheet.png”。 –

很确定你需要添加一个Res文件夹到构建路径。

Res文件夹是您的所有精灵表应该在哪里。

右键单击您的项目并编辑构建路径。

尝试添加纹理文件夹到您的构建路径

编辑 文件夹不需要被命名为“RES”

+0

我已经做到了。见[这里](https://www.dropbox.com/s/og0loomt8g5hm7m/6.jpg?dl=0) –