当场景过大时, 应使用异步加载场景的方式
当有加载场景(没有内容, 给玩家等待的时显得更加友好), 游戏场景使用异步加载方式, 当游戏场景加载完成之后再切换场景
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class SceneController : MonoBehaviour
{
private AsyncOperation async = null;
private float progressValue = 0.0f;
public int SceneIndex = 1;
void Start()
{
StartCoroutine("LoadScene");
}
IEnumerator LoadScene()
{
async = SceneManager.LoadSceneAsync(SceneIndex);
async.allowSceneActivation = false;
while (!async.isDone) {
if (async.progress < 0.9f) {
progressValue = async.progress;
}
else {
progressValue = 1.0f;
}
if (progressValue >= 0.9) {
async.allowSceneActivation = true;
}
yield return null;
}
}
}