Java分层图像

Java分层图像,java,image,background,Java,Image,Background,我试着设置一个背景图像,然后在背景图像上加上一些东西,但我遇到的问题是背景比其他任何东西都有层次。我希望有人能告诉我如何正确地分层图像 到目前为止我画背景的代码是 @Override public void paint(Graphics g) { super.paint(g); Graphics2D g2d = (Graphics2D) g; DoAnimation(); if (bInGame) { PlayGame(g2d); } el

我试着设置一个背景图像,然后在背景图像上加上一些东西,但我遇到的问题是背景比其他任何东西都有层次。我希望有人能告诉我如何正确地分层图像

到目前为止我画背景的代码是

@Override
public void paint(Graphics g) {
    super.paint(g);
    Graphics2D g2d = (Graphics2D) g;
    DoAnimation();
    if (bInGame) {
        PlayGame(g2d);
    } else {
        ShowIntroScreen(g2d);
    }
    g.drawImage(ii, 5, 5, this);
    //g.drawImage(Background, 0, 0, null);
    Toolkit.getDefaultToolkit().sync();
    g.dispose();
}

当激活时,背景为的g.drawImage将是唯一出现的东西,但当我将其注释掉时,其他所有东西都会再次出现。我试着把我的背景放在一个单独的文件中,希望它能把它放在其他所有东西后面

你需要先画背景图像。在代码片段中,您最后绘制它

i、 e


将绘制图形上下文视为堆积纸张。每一次抽签都会回顾之前所做的事情。当你画一个新的图像时,它覆盖了之前的任何内容。

到目前为止,你的代码是什么样子的?@AndrewThompson我大约85%确信这是有意义的。这很有帮助@AndrewThompson我可以发誓我已经尝试过了,但当我在你的建议后再次尝试时,它终于奏效了,非常感谢你!那么你如何用图像做到这一点呢。假设我有一堆卡片,我想在它们之间以大约50px的水平偏移量将一张卡片叠在另一张卡片上。这是完整的讨论线索。
@Override
public void paint(Graphics g) {
    super.paint(g);
    Graphics2D g2d = (Graphics2D) g;

    // assuming you want it behind everything else
    // drawn to g2d after this point
    g.drawImage(Background, 0, 0, null);

    DoAnimation();
    if (bInGame) {
        PlayGame(g2d);
    } else {
        ShowIntroScreen(g2d);
    }
    g.drawImage(ii, 5, 5, this);
    Toolkit.getDefaultToolkit().sync();
    g.dispose();
}