У меня есть форма wpf, холст и изображение на холсте. Я хочу, чтобы это изображение перемещалось случайным образом в направлении каждые n миллисекунд. Я использовал пока цикл, но он запасся голодом. поэтому у меня не было возможности реализовать это движение одним событием мыши, чтобы увидеть, насколько хороша моя идея об этом движении. это мой код ниже:
public void movebox()
{
Random rnd = new Random();
int movex = rnd.Next(0, 2);
int movey = rnd.Next(0, 2);
Canvas.SetTop(image1, Canvas.GetTop(image1) + (movey == 1 ? 1 : -1));
Canvas.SetLeft(image1, Canvas.GetLeft(image1) + (movex == 1 ? 1 : -1));
}
private void Window_MouseMove(object sender, MouseEventArgs e)
{
movebox();
}
Мне нравится движение изображения, но сейчас у меня такая же проблема. Мне нужно, чтобы этот объект перемещался автоматически вечно каждые n миллисекунд без голодания. это мой идеальный код ниже:
while(true){
Random rnd = new Random();
int movex = rnd.Next(0, 2);
int movey = rnd.Next(0, 2);
Canvas.SetTop(image1, Canvas.GetTop(image1) + (movey == 1 ? 1 : -1));
Canvas.SetLeft(image1, Canvas.GetLeft(image1) + (movex == 1 ? 1 : -1));
Thread.Sleep(1000);
}
что мне теперь делать?