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

2018-10-29  本文已影响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);
}

上一篇 下一篇

猜你喜欢

热点阅读