XNAゲームスタジオでゲームを作っていましたが、今はJavaで書き直したいと思います。 2D Minecraftクローンのようなものです。衝突の検出のためには、ゲーム内のすべてのブロックをループして、プレーヤーがブロックに衝突しているかどうかをチェックする必要があります。膨大な数のブロックがあるとそうすることができないので、私はグリッドシステムを作った。私は世界をブロックを含むグリッドに分割し、それらを辞書に入れました。Java辞書<String、List <Object>>
Dictionary<string, List<Block>> gameBlocks;
現在、私は現在のグリッドのブロックをループするだけです。
これは、ブロックを登録するための方法である:
public void RegisterBlock(Block block)
{
idX = (int)(block.blockPosition.X/width);
idY = (int)(block.blockPosition.Y/height);
string id = idX.ToString() + "_" + idY.ToString();
if (gameBlocks.ContainsKey(id))
{
gameBlocks[id].Add(block);
}
else
{
gameBlocks.Add(id, new List<Block>());
gameBlocks[id].Add(block);
}
}
は今、私はJavaでそれを書き換えしようとしていますが、私は辞書の中に何かを置く方法がわかりません。