using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class LoadingScene : MonoBehaviour { public Slider processBar; private AsyncOperation async; private uint _nowprocess; void Start() { _nowprocess = 0; StartCoroutine(loadScene()); } IEnumerator loadScene() { //异步读取场景。 //loadName 就是A场景中需要读取的C场景名称。 async = Application.LoadLevelAsync(LoadName);//LoadLevelAsync(2)场景名字序号 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条
最新推荐文章于 2024-07-04 23:22:27 发布