Я пытаюсь создать простую игру змеи, где змея следует за мышью. Мое тело змеи должно быть polyline
. И моя проблема в том, что когда я двигаю мышь слишком быстро или слишком медленно, тело моей змеи становится все длиннее/короче, и я знаю, что это происходит из-за того, что я добавляю новую точку с координатами мыши, а после этого, когда я я подключаю линии к возникновению проблемы. Но я не могу думать о каких-либо более умных решениях.WPF Snake игра, следующая за курсором мыши
public partial class MainWindow : Window
{
Point mousePos;
Polyline polyline;
public MainWindow()
{
InitializeComponent();
polyline = new Polyline();
polyline.Stroke = Brushes.Black;
polyline.StrokeThickness = 4;
var points = new PointCollection();
for (int i = 0; i < 50; i++)
{
points.Add(new Point(i, i));
}
polyline.Points = points;
canvas.Children.Add(polyline);
}
protected override void OnMouseMove(MouseEventArgs e)
{
base.OnMouseMove(e);
mousePos = e.GetPosition(canvas);
polyline.Points.Add(mousePos);
for (int i = 0; i < polyline.Points.Count - 1; i++)
{
polyline.Points[i] = new Point(polyline.Points[i + 1].X, polyline.Points[i + 1].Y);
}
polyline.Points.RemoveAt(0);
}
}
Это лучше, чем у меня. –