Version: 2023.2
public static float Repeat (float t, float length);

描述

对值 t 进行循环,使它不会大于长度,并且不会小于 0。

这类似于取模运算符,但是它适用于浮点数。例如,将 3.0 用于 t 并将 2.5 用于 t,结果是 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)); } }