値 t は length より大きくはならず 0 より小さくはならず、その間をループします。
これは剰余演算子に似てますが、浮動小数点数で動作します。たとえば、t
を 3.0 、 length
を 2.5 とすると結果は 0.5 になります。t
= 5 、 length
= 2.5 とすると結果は 0.0 になります。ただし、剰余演算子として負の数のために動作するように定義されていないことに注意してください。
In the example below, the value of time is restricted between 0.0 and just under 3.0. When the value of time is 3, the x position will go back to 0, and go back to 3 as time increases, in a continuous loop.
using UnityEngine;
public class Example : MonoBehaviour { void Update() { // Set the x position to loop between 0 and 3 transform.position = new Vector3(Mathf.Repeat(Time.time, 3), transform.position.y, transform.position.z); } }
The example below shows different possible outputs.
using UnityEngine;
public class Example : MonoBehaviour { void Start() { // prints 4 Debug.Log(Mathf.Repeat(-1f, 5f));
// prints 0 Debug.Log(Mathf.Repeat(0f, 5f));
// prints 1 Debug.Log(Mathf.Repeat(1f, 5f));
// prints 0 Debug.Log(Mathf.Repeat(5f, 5f));
// prints 2 Debug.Log(Mathf.Repeat(12f, 5f));
// prints 1 Debug.Log(Mathf.Repeat(16f, 5f));
// prints 4 Debug.Log(Mathf.Repeat(19f, 5f)); } }