按钮调用多个函数时如何正确使用IEnumerator

How to Use IEnumerator Correctly when button calls multiple functions

我正在制作一个纸牌游戏,我试图在实例化每张纸牌之前进行 (0.5f) 延迟。我有我的代码实例化和对象

public IEnumerator Name(int x,int y, int z)
{

}    

在 IEnum 中,我在所有带有实例化的代码之前有一个 yeild return new WaitForSeconds(0.5f)

我使用

在 2 个不同的 类 中调用我的 IEnumerator,每个调用 2 次
StartCoroutine(Name(...par...));

在我的玩游戏按钮上,我有 4 个使用枚举生成卡片但没有延迟的事件。

有没有办法让卡片一张一张出现。

感谢您的支持。

无论当前调用 StartCoroutine 的是什么,都需要是协程。

现在您的代码 looks/behaves 像这样:

StartCoroutine(Name(...par...));
StartCoroutine(Name(...par...));
StartCoroutine(Name(...par...));
StartCoroutine(Name(...par...));

而且他们都在刷卡,而不是互相等待。你不想这样,所以你需要对你的调用方式进行根本性的改变,这样你才能得到这个行为:

StartCoroutine(SomeMethod(...));

IEnumerator SomeMethod(...) {
    yield return Name(...par...)
    yield return Name(...par...)
    yield return Name(...par...)
    yield return Name(...par...)
}