按钮调用多个函数时如何正确使用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...)
}
我正在制作一个纸牌游戏,我试图在实例化每张纸牌之前进行 (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...)
}