试图控制健康栏的填充量。
拥有此代码:
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
答案 0 :(得分:3)
您的问题在细节上很少。但是您没有超过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
}