物体使用协程显示后无法关闭

问题:物体A先显示,后使用协程进行关闭,但是无法关闭物体显示,代码如下:
public void MsShow()
{
StartCoroutine(MsClose());
GameA.SetActive(true);
}

IEnumerator MsClose()
{
yield return new WaitForSeconds(0f);
GameA.SetActive(false);
}

原因:应为先执行了协程,所以先执行的是关闭,若等待的时间不为0,则可以显示效果,但是逻辑处理是错误的。先执行显示后执行关闭,这样就不用考虑等待时间的问题,调整代码如下:
public void MsShow()
{
GameA.SetActive(true);
StartCoroutine(MsClose());
}

IEnumerator MsClose()
{
yield return new WaitForSeconds(0f);
GameA.SetActive(false);
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在unity中方法一般是在一帧之内执行完毕的,当方法耗时的时候,会产生帧率下降的情况. Unity中的协程: 1:...
    诸子百家谁的天下阅读 919评论 0 1
  • 昨天临睡之时,师弟给我发来信息:“谢谢师兄的再次开导,我这次真的要把游戏卸了,向学霸之路迈进”。他已经不下于三次和...
    游溪阅读 2,785评论 10 99
  • 月亮撕开黑暗挤了进来 掺和着风 影影绰绰愈加张牙舞爪 卷起的帘角泄了光 晚安被囚禁了力量 意识胡乱挣扎 呼吸也在较...
    既见君子_云胡不喜阅读 259评论 2 7
  • 文/陈泽之 自从我们搬家后,家里迎来了许多“贵客”:如码头无人理会的仙人掌,微小的多肉,还有吃剩的萝卜根…...
    芝麻的微光阅读 408评论 1 1
  • 体验入:今天有辆奔驰来镀晶,中午的时候还特意去对面看车并确定时间,晚上客户来取车,车还是没好。找核心:经验不足!转...
    京心达孙艳利阅读 107评论 0 0

友情链接更多精彩内容