【Unity】値をループさせたいときはMathf.Repeat
こんな便利なAPIがあったなんて。。。
Mathf.Repeatは第1引数が、0を下回る場合は第2引数を、第2引数を上回る場合は0を返してくれます。
値をループさせたいときに特に重宝します。
値を0~10でループさせたい場合、単純に書くと下記のようになると思います。
float currentValue;
void Update{
if(currentValue > targetValue ){
currentValue= 0f;
}
if(currentValue < 0f){
currentValue = 10f;
}
}
それを下記のようにできます。
float currentValue;
void Update{
currentValue = Mathf.Repeat(currentTime,10f)
}
すごいすっきりしましたね。
注意すべき点は、負の数を第2引数に設定できないことです。
それでも使える場面は多々あると思うので参考までに。