using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; public class SceneLoad : MonoSingleton { public GameObject loadingPanel; public Slider loadSlider; public Text loadingInfoText; private void Start() { loadingPanel.SetActive(false); } public void SceneChange(string Scenename) { Debug.Log("Scenename---" + Scenename); StartCoroutine(LoadScene(Scenename)); } private IEnumerator LoadScene(string loadSceneName) //设置协程类型方法loadlevel { loadingInfoText.text = "0%"; loadSlider.value = 0; loadingPanel.SetActive(true); AsyncOperation operation = SceneManager.LoadSceneAsync(loadSceneName); operation.allowSceneActivation = false; while (!operation.isDone) { loadSlider.value = operation.progress; loadingInfoText.text = operation.progress + "%"; Debug.Log(operation.progress); if (operation.progress >= 0.9f) { loadSlider.value = 1; loadingInfoText.text = "100%"; operation.allowSceneActivation = true; } yield return null; } loadingPanel.SetActive(false); } }