代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class NewBehaviourScript : MonoBehaviour
{
float f;
void Start()
{
f = 0;
}
public void LoadNextScene()
{
StartCoroutine(LoadAsyneScene());
}
IEnumerator LoadAsyneScene()
{
//把想要加载的场景id赋值给i
int i = 1;
//异步加载场景
AsyncOperation asyneLoad = SceneManager.LoadSceneAsync(i);
asyneLoad.allowSceneActivation = false;
while (!asyneLoad.isDone)
{
//设置加载下一场景的条件:一秒后加载
if (f<1)
{
f += Time.deltaTime;
Debug.Log(f);
}
else
{
asyneLoad.allowSceneActivation = true;
}
yield return null;
}
}
}
以上是最简单的一个异步加载场景:一秒以后加载下一场景。
这里是一位作者写的比较详细的异步加载