0

我正在使用 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 上,它也没有提到它是如何处理层的。

4

1 回答 1

0

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

于 2013-04-03T15:27:42.320 回答