using System; using System.Collections; using UnityEngine; using UnityEngine.SceneManagement; public class LoadingManager:MonoSingleton { public void Load(string targetScene) { //string currentScene = SceneManager.GetActiveScene().name; var op = SceneManager.LoadSceneAsync("Loading", LoadSceneMode.Single); op.completed += (AsyncOperation obj) => { StartCoroutine(LoadingScene(targetScene)); }; } private IEnumerator LoadingScene(string targetScene) { //演示用,正式版需要根据场景大小调整 if (targetScene.Equals("YogaMain")) { yield return new WaitForSeconds(3f); } var loadNew = SceneManager.LoadSceneAsync(targetScene, LoadSceneMode.Single); loadNew.completed += (AsyncOperation obj2) => { //fade in }; } }