2012-05-29 56 views
0

我正在製作我的第一個簡單遊戲,那看起來像太空侵略者。在簡單的Java遊戲中設置背景圖片

我已經在我的JPanel上使用過油漆繪製我的英雄。現在我猜想,如果可以簡單地在我的JPanel上添加背景圖像。

ImageIcon img = new ImageIcon(this.getClass().getResource("back.gif")); 
Image image = img.getImage(); 
setDoubleBuffered(true);  
hero = new Hero("hbarrel.gif",350,500); 

public void paint(Graphics g) { 
    super.paint(g); 
    Graphics2D g2d = (Graphics2D)g; 
    g2d.drawImage(hero.getImage(), hero.getX(), hero.getY(), this); 
    g2d.drawImage(image,0,0,this); 
    // Toolkit.getDefaultToolkit().sync(); 
    g.dispose(); 
} 

所以,這是它:我試圖用我的背景img作爲英雄img,它的工作原理!但是當我使用上面的代碼時,它只會畫我的英雄img ....所以它不是一個資源位置問題。

+0

你應該重寫paintComponent()的擺動,而不是paint()方法。但我猜,目前的問題與此無關。你可以檢查「image.jpg」路徑是否正確,圖像是否正確載入。 –

+0

爲了更快得到更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –

回答

3

重寫paintComponent(Graphics)方法並使用Graphics.drawImage()在您自己的自定義組件中執行此操作。

+0

它只顯示我的「英雄」圖像,而不是背景圖像。我有 – Carpo23

+0

你可以發佈一些代碼,所以我們可以提供幫助。 –

+0

對不起,這是我的真實評論: – Carpo23

0

好,儘量先繪製背景圖片的英雄,讓你有上述背景圖像英雄