c# - 在Unity中打破while循环?
问题描述
如何摆脱协程内的这个 while 循环?即使达到该值,调试消息也会持续出现。
void Start()
{
StartCoroutine(StartFadingIn());
}
IEnumerator StartFadingIn()
{
float i = 0f;
while(i!=1f)
{
Color color = Downward.material.color;
color.a = i;
Downward.material.color = color;
yield return new WaitForSeconds(0.05f);
i = i+0.1f;
Debug.Log("Repeat");
}
}
解决方案
void Start()
{
StartCoroutine(StartFadingIn());
}
IEnumerator StartFadingIn()
{
float i = 0f;
while (Mathf.Abs(i - 1f) > 1e-5)
{
Color color = Downward.material.color;
color.a = i;
Downward.material.color = color;
yield return new WaitForSeconds(0.05f);
i = i+0.1f;
Debug.Log("Repeat");
}
}
推荐阅读
- android - 如何在主题中设置 TextInputLayout 的hintTextColor 样式?
- html - 如何在 div 元素上触发点击事件并显示其相邻元素 JQUERY
- flutter - PageView 导航按钮需要点击 2 次才能实际工作 (Flutter)
- java - 如何在 Neptune 中使用 Gremlin 会话?
- python - 我的 Python 代码有问题。有错误,“未解决的参考”
- github - Github 工作流如何读取托管在同一 GitHub 帐户上的另一个私有存储库中的文件?
- r - 如何从 R 中的对比中删除一个因子?
- python - 从 pytorch 中的附近像素创建新通道
- amazon-cognito - AWS-Amplify:请求中包含的安全令牌无效
- wordpress - 尝试在 bash 脚本中将参数传递给 wp-cli