为什么这个 Mathf.Clamp 的例子不起作用?

Why doesn't this example of Mathf.Clamp work?

我正在尝试在 2 秒内简单地从 0 到 1,不超过 0 或 1。

    Mathf.Clamp(buttonPercent += (0.5f * Time.deltaTime), 0, 1.0f);

这导致我的数字增加到 1 以上。

我知道一个简单的方法就是做这样的事情

buttonPercent += 0.5f;
if(buttonPercent > 1){
    buttonPercent = 1;
}

...但我很好奇为什么我的钳位方法不起作用。

谢谢!

Mathf.Clamp returns 限制值并且不会更改输入,因为它是按值调用。

改为:

buttonPercent = Mathf.Clamp(buttonPercent + (0.5f * Time.deltaTime), 0, 1.0f);