gpt4 book ai didi

c# - 在 void 函数中为 for 循环增加速度?

转载 作者:行者123 更新时间:2023-11-30 22:51:29 25 4
gpt4 key购买 nike

有没有办法快速添加/控制for循环?我不想使用协同程序,因为我之前已经尝试过。我已将 for 循环 添加到普通的 void 函数中。很久以前,我看到循环是通过使用 Time.deltaTime 函数来控制速度的,但我不记得它是如何完成的。类似 i = i + 0.1 * Time.deltaTime 的东西,但这不是执行此操作的正确方法。

void Start()
{
...
...
for(float i = 0;i<=1f;i += 0.1f) //Adding speed here?
{
CanvasGroup.alpha = i;
}
}

编辑:我想要实现的是,i 的值应该以恒定速度从 0 线性移动到 1。它应该从 0、0.1、0.2、....1 延迟 0.2f 更改其值。

最佳答案

大家好,感谢您的投入。最后我最终使用了协程,因为我找不到在普通函数内实现线性速度的方法。我一直在寻找一种方法(如果可行的话)来控制正常功能内的速度。但是,还有一种方法可以替代协程;方法是

IEnumerator Way()
{
...
...
for(float i = 0;i<=1f;i += 0.1f)
{
CanvasGroup.alpha = i;
yield return new WaitForSeconds(0.2f);
}
}

//Alternative given below

void Update()
{
for(float i = 0;i<=1f;i += Time.deltaTime * speed)
{
CanvasGroup.alpha = i;
}
}

Time.deltaTime 只能在递归函数中使用,这让我很吃惊;那是在 Update()

期间

关于c# - 在 void 函数中为 for 循环增加速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59140136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com