递归+协程——解决多素材加载卡顿问题

xiaoxiao2021-02-27  185

说明:

很多时候,我们都会遇到这样的情况,当需要加载N个资源时,往往需要用WWW或者异步加载,但如何判断N个资源是否加载完成就是一个判断的关键点,这里介绍一种自己写的方法:使用递归执行+协程的方式;

代码如下所示:

int completedNumber = -1; IEnumerator RecursionFunc(int currentNumber) { if (currentNumber == 0) { Debug.Log("已经完成啦!"); yield break; } else { StartCoroutine(IELoadSomethging(currentNumber)); do { yield return new WaitForEndOfFrame(); } while (completedNumber != currentNumber); Debug.Log("已完成第:————————————————————" + currentNumber); StartCoroutine(RecursionFunc(currentNumber - 1)); } } IEnumerator IELoadSomethging(int currentNumber) { yield return new WaitForSeconds(1); Debug.Log("正在异步加载第:——" + currentNumber.ToString()); completedNumber = currentNumber; }

执行结果如下所示;

转载请注明原文地址: https://www.6miu.com/read-15505.html

最新回复(0)