Java绘图时如何管理图层?

时间:2013-04-02 22:17:14

标签: java swing awt graphics2d mixing

我正在使用Java的AWT包在Canvas上使用Graphics2D和BufferStrategy进行绘制。 Canvas放置在JFrame上。当我将我的游戏中的实体放到画布上并绘制它们时,它们似乎以看似随机的顺序呈现。我有一个实体列表,它们是使用高级for循环绘制的。每次我开始游戏时,实体都是以随机顺序绘制的,但在重新启动程序之前总是保持相同的顺序。这是我循环中用于渲染的代码。

for (Entity e : EntityManager.list) {
        e.update();
        e.draw(g, e.x, e.y);
}

这是我的绘制方法:

public void draw(Graphics g,int x,int y) {
    g.drawImage(image,x,y,null);
}

我已经搜索了很多,但我还没有找到关于如何通过Graphics2D管理图层的精确答案。同样在Javadoc上它没有提到它如何处理图层。

1 个答案:

答案 0 :(得分:0)

按照将图层添加到列表的顺序绘制图层。为了管理图层,你只需要创建一个包含图层和实体的arraylist并保持它们的顺序,你可以像这样改变它。