随着时间的推移,我想增加浮动汇率的价值,但随时间的推移,我想增加进账宽松政策。
这里我使用的是Mathf.Lerp,我知道有Mathf.Smoothstep,但是在SmoothStep中,我似乎无法控制放松本身的速度。我希望在一个特定的时间(范围)内,从一定的价值开始到另一个价值的放松。我自己选。例如,如果浮点数从0更改为100,我希望放松从0改为20,再从70更改为100。
下面是我使用的当前代码:
float minValue = 0;
float maxValue = 100;
float duration = 10;
float value;
void Start()
{
StartCoroutine(IncreaseSpeed(minValue, maxValue, duration));
}
private IEnumerator IncreaseSpeed(float start, float end, float duration)
{
float time = 0;
while (time <= duration)
{
time = time + Time.deltaTime;
value = Mathf.Lerp(start, end, time / duration);
yield return null;
}
}发布于 2021-04-30 21:32:45
也许是这样的?
{
time = time + Time.deltaTime;
value = Mathf.Lerp(start, 20, time / duration);
yield return new WaitUntil(()=> value == 20);
value = Mathf.Lerp(20, 70, time / duration);
yield return new WaitUntil(()=> value == 70);
value = Mathf.Lerp(70, 100, time / duration);
}https://stackoverflow.com/questions/67340581
复制相似问题