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

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

作者: 小巃 | 来源:发表于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);
}

相关文章

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

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

  • go channel详解

    协程,通道 我们在普通程序中要执行代码如下代码 错误使用协程 由于没有调度,主协程率先执行完毕,代码执行已经关闭,...

  • Ceph RGW multisite代码实现

    multisite代码中大量使用了Boost的协程,在了解协程的使用方法后,整体代码结构还是比较清晰的。 协程实现...

  • kotlin--协程上下文、异常处理

    从前面我们可以大致了解了协程的玩法,如果一个协程中使用子协程,那么该协程会等待子协程执行结束后才真正退出,而达到这...

  • Unity3D 协程管理

    Unity里面的协程好用,但总是在如何关闭指定协程,尤其是关闭带参数的协程的问题上困惑不已。在本文,笔者带你用最简...

  • Unity协程基础用法

    //通过StartCoroutine()开始一个协程 //通过StopCoroutine();关闭一个协程 ...

  • 协程.md

    协程协程中使用suspend修饰方法,代表该方法可在协程中挂起。但并不是协程方法必须使用suspend修饰协程和线...

  • 协程(三)IEnumerable、IEnumerator、for

    协程(一)基本使用协程(二)协程什么时候调用协程(三)IEnumerable、IEnumerator、foreac...

  • 协程(五)简单模拟协程

    协程(一)基本使用协程(二)协程什么时候调用协程(三)IEnumerable、IEnumerator、foreac...

  • 协程(一)基本使用

    协程(一)基本使用协程(二)协程什么时候调用协程(三)IEnumerable、IEnumerator、foreac...

网友评论

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

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