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

时间:2016-11-20 12:08:02

标签: c# unity3d clamp

我试图在2秒内从0到1,不超过0或1。

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

这导致我的号码增加到1以上。

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:2)

Mathf.Clamp返回钳位值,并且不会更改输入,因为它是按值调用的。

将其更改为:

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