PingPong 返回一个在零和长度之间递增和递减的值。它遵循三角波公式,其中底部设置为零,峰值设置为 length
。
PingPong 要求值 t
是一个自增值。例如,Time.time 和 Time.unscaledTime。
以下示例显示了一个简单的用例,其中灯光强度从 0 到 8 再到 0 不断变化。
using UnityEngine;
public class PingPongExample : MonoBehaviour { Light myLight;
void Start() { myLight = GetComponent<Light>(); }
void Update() { myLight.intensity = Mathf.PingPong(Time.time, 8); } }
以下示例显示了一些输出作为示例。
using UnityEngine;
public class OutputExample : MonoBehaviour { void Start() { // Prints 2 Debug.Log(Mathf.PingPong(2, 5));
// Prints 3 Debug.Log(Mathf.PingPong(7, 5)); // Prints 1 Debug.Log(Mathf.PingPong(11, 5)); } }