0

サッカー シミュレーション ゲームを作成しており、試合の 2D ビューを作成したいと考えています。私の試合は 90 分間で、フィールドには 22 人のプレーヤーがいます。多くのスペースを取らないように、プレーヤーの動き/パスを保存するにはどうすればよいですか? 私はそれを次のように保存できることを知っています

Minute: min, 
Player: id, 
X: xCoord, 
Y: yCoord

次に、jQuery を使用してオブジェクトをポイント A からポイント B に移動するだけですが、多くのスペースとデータベース エントリが必要になるため、最適なソリューションではないと確信しています。私は MongoDB を使用していますが、すべての提案を歓迎します。

4

1 に答える 1

1

選手はどう動く?メインループの各ステップで少し動く?それとも、長い直線を進んでいき、急に曲がって別の直線を進んでいくのでしょうか? 最初のケースでは、おそらくミリ秒ごと (メイン ループの各ステップ) を保存する必要があります。または、10 ステップごとまたは 1 秒ごとに位置を保存することもできます。そのように「グロス」に見えるでしょう、それはあなたのデータベースで多くのスペースを節約することができます)。2 番目のケース (直線) では、プレイヤーが別の方向に曲がるポイントを保存することができます。この場合、それらの位置、角度、および速度を (もちろん、時間とともに) 保存します。

最初のテーブルは次のようになります (マシンのパワーに応じて、間隔は 1 ミリ秒を超える場合があります)。

PLAYER  TIME(ms)  X  Y
   1       0      0  0
   1       1      0  2
   1       2      0  4
   1       3      0  7
   1       4      0 10
   1       5      4 13

2番目のテーブルは次のようになります。

PLAYER  TIME(ms)  X  Y  Dir  Speed
   1       0      0  0   90    2
   1       2      0  4   90    3
   1       4      0 10   60    5

またはそのようなもの。Dir は度単位の方向です。それが役立つことを願っています!

于 2014-01-09T00:28:38.883 に答える