Java の AWT パッケージを使用して、キャンバス上で 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 では、レイヤーの処理方法については言及されていません。