0

プレーヤーの村が大きな王国マップに表示される iOS ゲームに取り組んでいます。各村にはそのマップ上の軸、y の位置があり、各村はサーバー (Parse.com) 上のデータベースにオブジェクトとして格納されます。

私ができるようにしたいのは、現在のプレイヤーの村の周りのすべての村をプルダウンすることです. 通常、これは最短距離アルゴリズムを使用するだけなので簡単ですが、これを使用するには、データベース内のすべての村をダウンロードし、各村でアルゴリズムを実行してから、プレイヤーからの距離に従ってそれらを並べ替える必要があります。これは正確にそれを行うための迅速で効率的な方法ではありません。それで、上記を行うためのより洗練された/効率的な方法を知っている人はいますか? データベースへのクエリで実際に現在のプレイヤーの周りの村をプルダウンし、いわば1石で2羽の鳥を殺すことができれば素晴らしいと思いますが、それを行う方法がわかりません。その答えはおそらく、村の場所に関するより多くの情報をデータベースに保存することにあると思います。

何か案は?

基本的な数学でそれを行う方法にまだ興味があるので、この質問はそのままにしておきます.Manhatten距離アプローチは問題ありませんが、Parse.comを使用している人にとっては、おそらくgeoPointsを使用できるでしょうか? 馬鹿げたアイデアですが、やってみます。

4

1 に答える 1

1

制約 X - D < x および x < X + D および Y - D < y および y < Y + に一致するすべての村を照会することにより、ポイント (X,Y) からマンハッタンの D 単位の距離内にあるすべての村を簡単に取得できます。 D.

必要に応じて、クライアントでユークリッド距離に基づいてさらにフィルタリングを行うことができます。

于 2013-09-17T16:00:10.963 に答える