たとえば、X 座標と Y 座標に 5.000.000 の異なる整数座標を使用したマップの抽象表現があるため、これは非常に大きな 2 次元の四角形です。
そして、その可変サイズの長方形の中に、いくつかのオブジェクト (キャラクター、モンスター、npcs) があります。プレイヤーはこの長方形の位置を選択でき、その位置にモンスターやキャラクターがいるかどうかを確認する必要があります。
これまでのところ、列と行を持つ GameMatrix というカスタム クラスを作成しました。列には 3000x2000 の位置 (キャラクターのエリア ビュー) があります。
私のゲームのプレーヤーが上記の座標をクリックするとforeach()
、マトリックス内のすべての要素を実行する必要があり、ほとんどの場合、それは空です。
これを解決するより良い方法はありますか?具体的には、非常に大きな長方形と座標を使用して、効率的な方法でその座標内にオブジェクトがあるかどうかを確認するための最良の方法は何かを尋ねています。
言い忘れましたが、これはサーバー側でミリ秒ごとに数回行われます。だから私は多くのパフォーマンスが必要です。
編集:言及するのを忘れました、私はC#を使用しています。