движение объекта в заданную точку
Всем привет. Делаю простенькую игру на юнити, и у меня возникла проблема. У меня есть персонаж, которым мы управляем свайпами (свайп вправо - персонаж движется вправо, свайп влево - движется влево). На разных экранах персонаж может недолетать/перелетать нужную точку. Подскажите, как это исправить? Вот сам код:
public Vector2 targetPos;
public float Xincrement;
public static bool isRun = false;
public static bool isRight = false;
public float speed;
void FixedUpdate()
{
transform.position = Vector2.MoveTowards(transform.position, targetPos, speed * Time.deltaTime);
if (isRight == true && isRun == true)
{
targetPos = new Vector2(transform.position.x, transform.position.y);
isRun = false;
}
else if (isRight == false && isRun == true)
{
targetPos = new Vector2(transform.position.x - Xincrement, transform.position.y);
isRun = false;
}
}
Источник: Stack Overflow на русском