在绘图时如何管理图层



我使用Java的AWT包在画布上使用Graphics2D和BufferStrategy进行绘制。画布被放置在一个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上也没有提到如何处理层。

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

最新更新