首页 > 代码库 > Unity异步加载场景loading条

Unity异步加载场景loading条

using UnityEngine;using System.Collections;public class LoadingScene : MonoBehaviour {    public UISlider processBar;    private AsyncOperation async;    private uint _nowprocess;    // Use this for initialization    void Start ()     {        _nowprocess = 0;        StartCoroutine(loadScene());    }    IEnumerator loadScene()    {        //异步读取场景。        //Globe.loadName 就是A场景中需要读取的C场景名称。        async = Application.LoadLevelAsync(GlobalVaule.LoadLevelName);        async.allowSceneActivation = false;         //读取完毕后返回, 系统会自动进入C场景         yield return async;            }    void Update()    {        if(async == null)        {            return;        }        uint toProcess;        Debug.Log(async.progress * 100);        if(async.progress < 0.9f)//坑爹的progress,最多到0.9f        {              toProcess = (uint)(async.progress * 100);        }        else        {             toProcess = 100;        }        if(_nowprocess < toProcess)        {            _nowprocess++;        }        processBar.value = _nowprocess/100f;        if (_nowprocess == 100)//async.isDone应该是在场景被激活时才为true        {            async.allowSceneActivation = true;        }    }}

比较简单,直接上代码了,比较坑爹的地方做了注释~

Unity异步加载场景loading条