Size: a a a

2020 November 28

Z

Zavsegdatai in unity3d.ru
Ну в этом и есть твоя проблема
источник

В

Влад in unity3d.ru
Andrew
Значит проверь проверку прохождения конца круга
Проверку на счетчик при этом оставлять или убрать?
источник

A

Andrew in unity3d.ru
Пусть будет, все равно не проходит же
источник

A

Andrew in unity3d.ru
Можешь убрать, если мешает
источник

В

Влад in unity3d.ru
Andrew
Пусть будет, все равно не проходит же
Я уже туплю мог что-то не так написать, я правильно проверку же написал?
void Update()
   {
       if (checktime == 0)
       {
           timeStart += Time.deltaTime;
           textTimer.text = timeStart.ToString("F2");
           Debug.Log(timeStart);
           Debug.Log(checktime);
       }
       if (laps == null)
           return;
       if (checktime == 0)
       {
           if (laps.CurrentLap > laps.numof_laps)
           {
               checktime = 1;
           }
           checktime = 2;
       }
   }
источник

В

Влад in unity3d.ru
Просто все равно не работает
источник

A

Andrew in unity3d.ru
Не работал с LapSystem, если честно, не могу сказать
источник

В

Влад in unity3d.ru
Andrew
Не работал с LapSystem, если честно, не могу сказать
Вряд-ли проблема в проверке на прохождение круга
источник

В

Влад in unity3d.ru
Тут где-то в этом скрипте с таймером что-то не так
источник

В

Влад in unity3d.ru
Я не пойму почему значение переменно не меняется
источник

S

Singular in unity3d.ru
@CheeryLee не работает
 private void OnTriggerStay(Collider other) {
       if (isInsideCircle(other.bounds.center.x, other.bounds.center.z,
           colliderPlayer.bounds.center.x, colliderPlayer.bounds.center.z,
           colliderPlayer.radius)) {
           Debug.Log("ASD");
       }
   }

   Boolean isInsideCircle(float x, float y, float circleX, float circleY, float circleRadius) {
       Double absX = Math.Pow(Math.Abs(x - circleX), circleRadius);
       Double absY = Math.Pow(Math.Abs(y - circleY), circleRadius);
       return Math.Sqrt(absX + absY) < circleRadius;
   }
источник

A

Andrew in unity3d.ru
Как раз таки наоборот, если у тебя значение переменной при прохождении круга не меняется, то надо проверять условие
источник

AP

Alexander P in unity3d.ru
Singular
@CheeryLee не работает
 private void OnTriggerStay(Collider other) {
       if (isInsideCircle(other.bounds.center.x, other.bounds.center.z,
           colliderPlayer.bounds.center.x, colliderPlayer.bounds.center.z,
           colliderPlayer.radius)) {
           Debug.Log("ASD");
       }
   }

   Boolean isInsideCircle(float x, float y, float circleX, float circleY, float circleRadius) {
       Double absX = Math.Pow(Math.Abs(x - circleX), circleRadius);
       Double absY = Math.Pow(Math.Abs(y - circleY), circleRadius);
       return Math.Sqrt(absX + absY) < circleRadius;
   }
печально
источник

A

Andrew in unity3d.ru
Влад
Вряд-ли проблема в проверке на прохождение круга
Как то можешь посмотреть вообще попадает ли в это условие? То есть проверяет ли вообще на завершение круга.
источник

В

Влад in unity3d.ru
Andrew
Как то можешь посмотреть вообще попадает ли в это условие? То есть проверяет ли вообще на завершение круга.
конечно проверяет, у меня сразу переход на сцену где должно выводиться значение за сколько прошёл круг
источник

A

Andrew in unity3d.ru
И это условие срабатывает?
источник

В

Влад in unity3d.ru
На сцену переводит но в том месте где выводится значения время подсчитывает дальше
источник

В

Влад in unity3d.ru
Ну получается да
источник

A

Andrew in unity3d.ru
Тогда меняй переменную внутри этого условия, а потом получай к ней доступ из кода таймер и работай уже внутри кода
источник

S

Singular in unity3d.ru
Alexander P
печально
точнее работает, но криво
источник