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);
}
}
這比我的好。 –