我目前正在尝试切换一个对象是否每五个增量为活动状态,称为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
?
关系,似乎很晚的时间正在减慢我的思维过程。事实证明,问题在其他地方,将其分解为以下内容后,相同的问题仍在发生,所以我正在深入研究。以下内容将每五分之一切换一次:
if ((int)((multiplier * 10) % 5) == 0)
Active = !Active;