(1)异步场景添加场景:
异步加载场景和同步加载场景的区别:同步加载的过程线程是阻塞的,异步是不会阻塞线程的,可以在加载的过程中继续去执行一些代码
异步加载场景使用的API
void Start()
{
//SceneManager.LoadScene(1,LoadSceneMode.Additive);
//GameObject Capsule = GameObject.Find("Capsule");
//DontDestroyOnLoad(Capsule);
StartCoroutine(Load());//使用协程异步加载
}
private IEnumerator Load()
{
AsyncOperation asyncOperation=SceneManager.LoadSceneAsync(1);
asyncOperation.allowSceneActivation = false;
while(asyncOperation.progress<0.9f)
{
Debug.Log("当前的进度是:" + asyncOperation.progress);
yield return null;
}
asyncOperation.allowSceneActivation = true;
if(asyncOperation.isDone)
{
Debug.Log("加载并跳转完毕");
}
else
{
Debug.Log("还没加载并跳转完毕");
}
}
SceneManager.LoadSceneAsync(),参数和同步加载的相同,有返回值,返回一个AsyncOperation
3、AsyncOperation类有什么用:AsyncOperation.isDone可以用来判断是否加载完成;AsyncOperation.allowSceneActivation加载完成后