Итак, у вас есть два Location
.сначала для источника, а затем для цели.
вы должны предположить счетчик итераций.сказать, что Объект должен достичь цели с шагом X.
, поэтому первым делом нужно вычислить DeiffX и DiffY.
double DiffX = (Target.X - Source.X);
double DiffY = (Target.Y - Source.Y);
, а на следующем мы можем сказать:
int Step = (int)Math.Max(DiffY,DiffX);
для каждой итерации мы должны добавить какое-то значение к текущему местоположению, так:
double DeltaX = DiffX/Step;
double DeltaY = DiffY/Step;
и на последнем шаге:
for (int i = 0; i<Step; i++)
{
Object.Location = new Point(Object.Location.X+ (int)DeltaX , Object.Location.Y + (int)DeltaY);
}
для калибровки результата:
Object.Location = Target.Location;
(это потому, что наши расчеты имеют некоторые десятичные дроби)