让我的游戏成为带有图片的罐子

时间:2015-03-30 20:39:12

标签: java eclipse image

我终于完成了我的游戏,我想将它分发给几个朋友,我唯一的问题是我可以将它变成可运行的jar文件,它在我的笔记本电脑上运行得非常好,但是当我在网上上传时并向其他人发送链接,当他们下载时,图像不存在。我搜索了解决方案,但是我遇到的那些我根本不明白,有人可以向我解释一下吗? :3

以下是我的代码中的所有图片。

游戏类

Graphics2D g2d = (Graphics2D) g;
    ImageIcon ic= new ImageIcon ("D:/USER/Desktop/Other/Snow.jpg");
    g2d.drawImage(ic.getImage(),0,0,null);

用户类

    public Image useriamge(){
    ImageIcon icon = new ImageIcon("D:/User/Desktop/Other/us.png");
    return icon.getImage();

障碍类

   ImageIcon icon = new                               
   ImageIcon("D:/User/Desktop/Other/ob.png");
   return icon.getImage();

主类

 final JFrame Starting_menu = new JFrame ("Game");
 ImagePanel background = new ImagePanel("D:/USER/Desktop/Other/Snow.jpg");
 Starting_menu.add(background);

final JFrame Help_screen = new JFrame ("Help menu");
ImagePanel background2 = new  ImagePanel("D:/USER/Desktop/Other/HelpScreen.jpg");
    Help_screen.add(background2);

3 个答案:

答案 0 :(得分:2)

您指定的路径特定于您的计算机。

您可以执行的操作是将图像存储在项目的src文件夹中,然后使用getClass().getResource("Snow.png")引用它们。

我建议为您的图片创建一个新的包,可能会为资源调用res。当您需要加载图片时,您需要getClass().getResource("res/Snow.png")

答案 1 :(得分:1)

好吧,如果我错了,请更正我,但是您正在从硬盘驱动器上的随机文件夹中加载图像。当您将游戏发送给某人时,.jar文件将在您在代码中写入的位置查找该图像文件。如果您的朋友在同一位置没有图像文件夹,则.jar文件将无法找到并加载图像。如果您只是将图像放在java_game_project_folder / images中,则可以使用“images / filename.jpeg”加载它们。您还可以在.jar文件中包含资源文件夹。

答案 2 :(得分:0)

发生这种情况的原因是您在计算机上引用特定文件。他们的计算机上没有的文件。将图片与jar一起发送,并包含安装脚本以将它们放在正确的位置,或者说明放置它们的位置。

或者将它们打包在jar中 - 按照约定在资源文件夹中 - 以便它们始终可用。但是,在这种情况下,如果不更改jar,您将无法更改图像。