Страница 1 из 1

Почему условие работает по разному в update и FixedUpdate?

СообщениеДобавлено: 30 июн 2023, 20:09
NOVA
Вот простое условие.
Синтаксис:
Используется csharp
if (EndMove)
        {
            if (Rect.anchoredPosition != EndPos)
            {
                Rect.anchoredPosition = Vector2.MoveTowards(Rect.anchoredPosition, EndPos, 5000 * Time.deltaTime);
                Debug.Log("EndMove=" + Rect.anchoredPosition);
            }
            else
            {
                EndMove = false;
                Rect.anchoredPosition = StartPos;
            }
        }

В FixedUpdate нивкакую не работает else. Все значения доехавшего объекта через Debug.Log соответствуют нужному, но else нивкакую не срабатывает. Прям до бесконечности не реагирует на это условие никак.
В Update же работает чётко.

Re: Почему условие работает по разному в update и FixedUpdate?

СообщениеДобавлено: 01 июл 2023, 00:20
1max1
Ты лучше в лог выведи вот это Rect.anchoredPosition != EndPos, а не то что ты вывел, там может быть ошибка точности флоат. А еще лучше, то что у тебя в else перенеси в блок if, делай проверку мосле мува, вполне вероятно кто-то другой еще влияет на твою позицию и мешает сработать елс.