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