使用异步加载场景.
声明一个异步变量:
AsyncOperation async;
可以在一个场景中的某个物体的Awake方法中启动携程来提前加载下一个需要用到的场景
IEnumerator loadScence(string sceneName)
{
async = SceneManager.LoadSceneAsync(sceneName);
async.allowSceneActivation = false;
yield return null;
}
async.allowSceneActivation = false; 这句代码必须写上,这可以使场景加载完而不切换,否则场景将会自动切换
在需要切换场景时再设置async.allowSceneActivation = true; 场景就能切换了
public void needToChange()
{
async.allowSceneActivation = true;
}
声明一个异步变量:
AsyncOperation async;
可以在一个场景中的某个物体的Awake方法中启动携程来提前加载下一个需要用到的场景
IEnumerator loadScence(string sceneName)
{
async = SceneManager.LoadSceneAsync(sceneName);
async.allowSceneActivation = false;
yield return null;
}
async.allowSceneActivation = false; 这句代码必须写上,这可以使场景加载完而不切换,否则场景将会自动切换
在需要切换场景时再设置async.allowSceneActivation = true; 场景就能切换了
public void needToChange()
{
async.allowSceneActivation = true;
}