美文网首页
物体使用协程显示后无法关闭

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

作者: 小巃 | 来源:发表于2018-10-29 20:38 被阅读0次

    问题:物体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);
    }

    相关文章

      网友评论

          本文标题:物体使用协程显示后无法关闭

          本文链接:https://www.haomeiwen.com/subject/qyyitqtx.html