using UnityEngine; using System.Collections; using UnityEngine.SceneManagement; using UnityEngine.UI; public class LoadingScene : MonoBehaviour { public Image progressImg; private AsyncOperation async; public Text text; private int curProgressVaule = 0;//計數器 // Use this for initialization
void Start () { StartCoroutine(LoadScene()); } IEnumerator LoadScene() { async = SceneManager.LoadSceneAsync("game");//異步跳轉到game場景
async.allowSceneActivation = false;//當game場景加載到90%時,不讓它直接跳轉到game場景。
yield return async; } // Update is called once per frame
void Update () { if (async == null) { return; } int progressVaule = 0; if (async.progress < 0.9f) { progressVaule = (int) async.progress*100; } else { progressVaule = 100; } if (curProgressVaule < progressVaule) { curProgressVaule++; } text.text = curProgressVaule + "%"; progressImg.fillAmount = curProgressVaule/100f; if (curProgressVaule == 100) { async.allowSceneActivation = true; } } }