我正在使用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上它没有提到它如何处理图层。
答案 0 :(得分:0)
按照将图层添加到列表的顺序绘制图层。为了管理图层,你只需要创建一个包含图层和实体的arraylist并保持它们的顺序,你可以像这样改变它。