ある数字を+1ずつ足していき、〇〇以上になった場合に0に戻す。 こういったロジックを実装するときにmod2を使うと簡単に書くことができます。
普通に計算する
「ある数字を+1ずつ足していき、〇〇以上になった場合に0に戻す。」をwhile文を使って実装した場合、このようななります。
while (index != 0) { index = index + 1; if (index > 5) { index = 0; } }
mod2を使う
先程の処理はmod2を使えば次のように置き換えることができます。
while (index != 0) { index = (index + 1) % 5; }
mod2とは
mod2とは剰余演算子と呼ばれています。 ある数字で割ったときに余りを返します。
Debug.Log(1 % 3); // 1 Debug.Log(2 % 3); // 2 Debug.Log(3 % 3); // 0 Debug.Log(4 % 3); // 1 Debug.Log(5 % 3); // 2