私は、同じタイプのブロックのテクスチャをレンダリングするバルクで私のゲームのレンダリングを改善しようとしています。 クラスタイプからリストへのマッピング方法は?
私のゲーム内の各ブロック
はフォーマットすべて がクラスブロックからを拡張 BlockWood、中クラスによって定義されます。私は現在、地図上で、異なるブロックのクラス/タイプ、およびそのタイプのすべてのブロックの位置を含んArrayListの間のマップを持っています。これを使用する
HashMap<Block, ArrayList<Vector2f>> blockMap = new HashMap<Block, ArrayList<Vector2f>>();
、私はマップをループ、バルク私のレンダリングを高速化、ブロックの各タイプをレンダリングすることができます。
しかし、このアプローチは、動作しません。私はそうとダミークラスを使用してArrayListの者にアクセスできるようにしたい -
blockMap.get(BlockWood.class);
は、私がArrayListにクラス型をマッピングすることができます任意の効率的な方法はありますか?クラス文字列表現をマップするだけでいいですか?
これは単なる文字列を使用するよりも、多かれ少なかれ効率的でしょうか? – liamzebedee
@ LiamE-p:わかりませんが、テストできます。 'String'よりも' Class'の利点は、文字列の集合が 'Block'を実装するクラスの集合よりもはるかに大きいことです。したがって、 'String'は値を持たないキーの使用をより自由にします。 – unholysampler