method LinearMovement(movingEntity, startX, startY, endX, endY, timeInSeconds)
{
var dX = Math.
Abs(endX - startX
);
var dY = Math.
Abs(endY - startY
);
var dirX = 1;
if (startX > endX) dirX = -1;
var dirY = 1;
if (startY > endY) dirY = -1;
var incX = dX / (timeInSeconds * 50); // 1sec = 1000ms / 20ms sleep
var incY = dY / (timeInSeconds * 50);
dirX = dirX * incX;
dirY = dirY * incY;
var diff = dirX - dirY;
var posX = startX;
var posY = startY;
while (posX != endX && posY != endY)
{
var dblDiff = 2 * diff;
if (dblDiff > (-1 * dY))
{
diff = diff - dY;
posX = posX + dirX;
}
if (dblDiff < dX)
{
diff = diff +dX;
posY = posY + dirY;
}
}
}