現在、C# と XNA を使用してゴルフ ボール ゲームを作成しています。これまでのところ、位置と速度を表示しながら、ボールを飛ばし、跳ねさせ、転がすことができました。ここで、ボールの動き全体を確認するために、ボールのパス (下の画像と同様) を確認できるようにしたいと考えています。
http://www.golf-simulators.com/images/ms4.jpg
私のコードは、一定の時間間隔でボールの位置を更新します。私は考えています:1)これらの位置を使用し、2)VertexPositionColor []の配列に挿入し、3)GraphicsDevice.DrawUserPrimitives()メソッドを使用して描画します
VertexPositionColor は静的配列ですが、位置データの量は常に増加しています。
リストを使用することを考えていますが、 GraphicsDevice.DrawUserPrimitives() メソッドはそれを入力として受け取ることを拒否します
protected override void Draw(GameTime gameTime)
{
trail_vertice = new VertexPositionColor;
trail_vertice.Position = Position;
trail_vertice.Color = Color.Black;
trail_amount += 1;
trailList.Add(trail_vertice);
basicEffect.CurrentTechnique.Passes[0].Apply();
graphics.GraphicsDevice.DrawUserPrimitives<VertexPositionColor>(PrimitiveType.LineStrip, trailList, 0, trail_amount);
}
パーティクル エンジンなどの高度なエフェクトは必要ありません。1行だけで十分です。なにか提案を?