движение объекта в заданную точку

Рейтинг: 0Ответов: 0Опубликовано: 29.01.2023

Всем привет. Делаю простенькую игру на юнити, и у меня возникла проблема. У меня есть персонаж, которым мы управляем свайпами (свайп вправо - персонаж движется вправо, свайп влево - движется влево). На разных экранах персонаж может недолетать/перелетать нужную точку. Подскажите, как это исправить? Вот сам код:

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;
    }
}

Ответы

Ответов пока нет.