0

我正在制作我的第一个简单游戏,它看起来像 Space Invaders。

我用颜料在我的 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.... 所以这不是资源位置问题。

4

2 回答 2

2

覆盖paintComponent(Graphics)方法并用于Graphics.drawImage()在您自己的自定义组件中执行此操作。

于 2012-05-29T17:52:59.910 回答
0

好吧,尝试先绘制背景图像,然后绘制英雄,这样你的英雄就在背景图像之上

于 2012-12-01T17:54:07.257 回答