1
我想创建一个简单的蛇游戏,其中的蛇跟随鼠标。我的蛇身体必须是polyline
。而我的问题是,当我将鼠标移动得太快或太慢时,我的蛇体变得越来越短,我知道这是因为我正在用鼠标坐标添加新点,然后当我我连接问题发生的线。但我想不出任何更聪明的解决方案。WPF贪吃蛇游戏跟随鼠标光标
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);
}
}
这比我的好。 –