Au lieu de faire


targetPos = new Vector2(...) + position;


essaye un truc comme ca:


deplacement = F(position-myLastpos)