Javaを使用してグラフィカルなローグライクゲームを作成しています。ゲームでは、タイルオブジェクトの2D配列をJPanelにペイントしています。これらのタイルオブジェクトは地面を表します。ペイントに使用するすべてのテクスチャを含む.bmpスプライトシートがあります。プレイヤーが移動するたびに、プレイヤーに表示されているタイルを再描画する必要があります。
私の質問はパフォーマンスの質問です。私は過去にこれを実装して、タイルにJPanelを拡張させ、各タイルはbufferedImage.getSubImage()を使用してスプライトシートの適切なセグメントを表示するだけですが、親JPanelは単にすべてのタイルでpaint()を呼び出します。 2D配列。これは前のプロジェクトの小さな30x20マップでは問題なく機能しましたが、現在のゲームで機能するかどうかはわかりません。
同じアプローチを使用する必要がありますか、それとも描画時間を短縮する他の可能な解決策がありますか?TileクラスはBufferedImageなどの他のSwingまたはAWTコンポーネントを拡張する必要がありますか、それとも効果がありませんか?
ありがとう。