IEnumerator收益率返回类型错误

用户名

我发现了类似的问题,但无法通过提供的答案解决我的问题。

我有以下代码,应该在数组的颜色之间淡入淡出。

public static IEnumerator FadeMaterialColors(Material m, Color[] colors, float speed, ProgressCurve type){
    for (int i = 0; i < colors.Length; i++){
        yield return (FadeMaterialColorTo(m, colors[i%2], speed, type));
    }
    yield return null;
}

public static IEnumerator FadeMaterialColorTo(Material m, Color target, float duration, ProgressCurve type){
        Color start = m.color;
        float y, t = Time.time;
        float progress = (Time.time - t)/duration;

        while (progress < 1f){
            y = GetProgressCurve(progress, type);
            m.color = start + y*(target - start);
            yield return null; // return here next frame
            progress = (Time.time - t)/duration;
        }
        m.color = target;
    }

函数“ FadeMaterialColorTo”本身工作正常,但使用顶部函数调用时却看不到任何结果...我尝试将第3行中的收益下降以获取“ return(FadeMaterialColorTo(m,colors [i%2],速度,类型));” 但是然后我得到以下错误:

Cannot implicitly convert type `System.Collections.IEnumerator' to `bool'

是一个类似的主题,但是在Unity中,返回类型IEnumerator>不起作用

The non-generic type `System.Collections.IEnumerator' cannot be used with the type arguments
杰达克

我相信你想要的是这样的:

public static IEnumerator FadeMaterialColors(Material m, Color[] colors, float speed,
ProgressCurve type){
    for (int i = 0; i < colors.Length; i++){
        yield return StartCoroutine(FadeMaterialColorTo(m, colors[i%2], speed, type));
    }
    yield return null;
}

IIRC,像yield return somefunction()如果您有其他嵌套的内部收益率将产生只有一次somefunction(),当你用做yield return null在你的体内while循环。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

IEnumerator收益率返回类型错误

来自分类Dev

使用收益率而不返回类型

来自分类Dev

使用收益率而不返回类型

来自分类Dev

执行收益率返回后的代码

来自分类Dev

修改收益率的返回值

来自分类Dev

不从构造函数调用收益率返回的方法?

来自分类Dev

收益率合并排序函数中的错误

来自分类Dev

收益率无效,但收益率有效

来自分类Dev

ES6收益率(收益率1)(收益率2)(收益率3)()

来自分类Dev

收益率IEnumerable <IEnumerable <... >>

来自分类Dev

收益率-内存优化

来自分类Dev

Ruby Blocks(收益率)

来自分类Dev

在此示例中,为什么“收益率”和“收益率收益率”具有相同的行为?

来自分类Dev

在此示例中,为什么“收益率”和“收益率收益率”具有相同的行为?

来自分类Dev

Scala的未来内部收益率

来自分类Dev

更紧凑的“收益率回报”方法?

来自分类Dev

PHP收益率,奇怪的行为

来自分类Dev

收益率可重入吗?

来自分类Dev

OpenCV 3.1 ANN预测收益率

来自分类Dev

瓦拉收益率未恢复

来自分类Dev

收益率怪异行为

来自分类Dev

将列表与收益率连接

来自分类Dev

R中的收益率曲线排序

来自分类Dev

延迟评估收益率值

来自分类Dev

熊猫年化收益率

来自分类Dev

如果我向其传递期权,Scala的收益率是否会返回无?

来自分类Dev

JavaScript生成器中的收益率返回值解析

来自分类Dev

即使在调用“ .ToList()”之后,递归收益率也不会返回值

来自分类Dev

在C#8 IAsyncEnumerable <T>中并行收益率返回