为了账号安全,请及时绑定邮箱和手机立即绑定

第二个协程不起作用 Unity

第二个协程不起作用 Unity

C#
蝴蝶刀刀 2021-07-14 11:00:44
在 MDIX 中有 3 种关闭对话框的方法:var dialogResult = await DialogHost.Show(myDialogControl, (sender, args) =>{    args.Session.Close(false);});或者DialogHost.CloseDialogCommand.Execute(null,null);或者DialogHostInstance.IsOpen = false;
查看完整描述

2 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

你的第二个协程的问题是..

您错误地使用了“IEnumerable”而不是“IEnumerator”,将其更改为“IEnumerator”即可。



查看完整回答
反对 回复 2021-07-18
?
DIEA

TA贡献1820条经验 获得超2个赞

你不应该SceneManager.LoadScene("demo2");在 之后调用StartCoroutine("RestartScene1");。


StartCoroutine("RestartScene1");这段代码可以说是异步代码。被调用,程序继续执行(这里不等待执行)。您应该在yielding之后调用要在该协程中延迟的代码。


小例子:


public void SomeFunction()

{

    StartCoroutine("RestartScene1");

    // The code here will **not** be delayed

}


public IEnumerable RestartScene1()

{

    yield return new WaitForSeconds(RestartSceneDelaySec);

    // The code here will be delayed

}


查看完整回答
反对 回复 2021-07-18
  • 2 回答
  • 0 关注
  • 404 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信