unity 填充量 lerp 返回错误值

试图控制健康条的填充量。


有这个代码:


public float lerpSpeed = 2;

public void FillBar()

{

    bar.fillAmount = Mathf.Lerp(0f, 0.7f, Time.deltaTime * lerpSpeed);

    Debug.Log(emotion.fillAmount);

}


当函数运行时,在单击事件之后,bar.fillAmount 仅变为 0.28


杨__羊羊
浏览 87回答 1
1回答

倚天杖

你的问题在细节上有点空洞。但是你没有超过 0.28 的原因是因为 Mathf.Lerp 的第三个参数代表两个浮点数之间的插值。因此,为了获得正确的数量,您需要在每次填充条时设置一个变量并更新其中的值,最好是在协程或更新循环中。public float lerpSpeed = 2;private float t = 0;public void FillBar(){    bar.fillAmount = Mathf.Lerp(0f, 0.7f, t);    t += Time.deltaTime * lerpSpeed}
打开App,查看更多内容
随时随地看视频慕课网APP