Unity线程与协程

这篇博客主要介绍了Unity中线程的限制,如不能直接操作关键数据,以及Unity的线程池用于资源加载。重点讲解了协程的使用,包括yield return的各种用法,如等待下一帧、异步操作、时间延迟等,并探讨了协程在物体激活和脚本激活状态下的不同行为。此外,还详细阐述了如何启动、关闭和管理协程,以及StopAllCoroutines()函数的应用。
摘要由CSDN通过智能技术生成

1.Unity的多线程无法调用关键数据:tranform

2.Unity的底层实现了线程池,如资源加载

 

协程:

yield return的介绍:

yield return null;//下一帧在执行后续代码

yield return 0;//下一帧在执行后续代码

yield break;//直接结束该协程的后续操作

yield return asyncoperation;//等异步操作结束后再执行后续代码

yield return StartCoroution(某个协程);//等待某个协程执行完毕再执行后续代码

yield return WWW();//等待WWW操作完成后再执行后续代码

yield return new WaitForEndOfFrame();//等所有的摄像机和Gui渲染完成后再该帧显示在屏幕之前执行

yield return new WaitForScends(0.3f);//等待0.3秒,在所有的Update函数调用之后执行(受Time.timeScale影响)

yield return new WaitForSecondsReaItime(0.3f);//等待0.3秒,同上(不受Time.timeScale影响)

yield return WaitFourFixedUpdate();//等待下一次FixedUpdate开始时再执行后续代码

yield return new WaitUntil();//当输入的参数或者委托为True时

yield return new WaitWhile();//当输入的参数或者委托为false时

物体不激活停止协程,脚本不激活协程不停止

所有的协程执行后续代码必须要在当前循环结束如:

While(true)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值