Переключить bool каждые 0.5f? - PullRequest
0 голосов
/ 27 января 2019

В настоящее время я пытаюсь переключить, активен ли объект при каждом пятом приращении переменной с именем multiplier. Эта переменная увеличивается на значение 0.1f время от времени в процессе обновления. По существу, от 1.0f до 1.4f он должен быть неактивным, затем от 1.5f до 1.9f он должен быть активным. Аналогично, с 2.0f до 2.4f он снова должен быть неактивным.

У меня была идея использовать модуль для переключения этого значения, но я не могу заставить его работать. Приведенный ниже код (и многие другие варианты, которые я пробовал) оставляет объект неактивным с 1.0f до 1.4f, затем активным на 1.5f и обратно на неактивный с 1.6f до 1.9f, продолжая этот процесс.

bool modResult = (int)((multiplier * 10) % 5) == 0;
Active = multiplier > 1.0f && modResult && !Active;

Как переключать мой bool с каждым пятым шагом без дополнительной переменной?

1 Ответ

0 голосов
/ 27 января 2019

Не говоря уже о том, что поздний час замедляет мой мыслительный процесс. Оказывается, проблема в другом месте, после разбивки на следующее, та же самая проблема все еще возникает, так что я углубляюсь в это. Следующее будет переключаться каждый пятый:

if ((int)((multiplier * 10) % 5) == 0)
    Active = !Active;
...