说明:
很多时候,我们都会遇到这样的情况,当需要加载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;
}
本文介绍了一种在Unity中判断多个资源加载完成的方法:通过递归执行与协程结合的方式来实现。具体做法是为每个待加载的资源启动一个协程进行异步加载,并用递归确保所有资源加载完毕。
1万+

被折叠的 条评论
为什么被折叠?



