2015-03-30 42 views
1

我終於完成了我的遊戲,我想將它分發給幾個朋友,我唯一的問題是我可以將它變成可運行的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); 

回答

0

發生這種情況的原因是您正在引用計算機上的特定文件。他們沒有在他們的計算機上的文件。或者將圖片和jar一起發貨,並且包含一個安裝腳本以將它們放在正確的位置,或者說明放置它們的位置。

或者將它們打包到jar文件中 - 按照慣例在資源文件夾中 - 以便它們始終可用。但是,在這種情況下,如果不更改罐子,您將無法更改圖像。

1

那麼,糾正我,如果我錯了,但你正在從硬盤上的隨機文件夾加載圖像。當您將遊戲發送給某人時,.jar文件將在您寫入代碼的位置查找圖像文件。如果您的朋友在同一位置沒有圖像文件夾,.jar文件將無法找到並加載圖像。如果你只是簡單地把圖像放在你的java_game_project_folder/images中,你可以用「images/filename.jpeg」加載它們。還可以在.jar文件中包含資源文件夾。

2

您指定的路徑特定於您的計算機。

您可以做的是將圖像存儲在項目的src文件夾中,然後使用getClass().getResource("Snow.png")引用它們。

我建議爲您的圖片創建一個新的包,也許稱爲res的資源。當你需要加載圖片,你會做getClass().getResource("res/Snow.png")