Переключить bool каждые 0.5f?
В настоящее время я пытаюсь переключить, активен ли объект каждый пятый прирост переменной с именем 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 ответ
Не говоря уже о том, что поздний час замедляет мой мыслительный процесс. Оказывается, проблема в другом месте, после разбивки на следующее, та же самая проблема все еще возникает, так что я углубляюсь в это. Следующее будет переключаться каждый пятый:
if ((int)((multiplier * 10) % 5) == 0)
Active = !Active;