using UnityEngine; using System.Collections; public class Test : MonoBehaviour { public UISlider slider; AsyncOperation async; bool flag = false; // Use this for initialization void Start() { } // Update is called once per frame void Update() { if (flag) { slider.value = async.progress; } } void OnClick() { StartCoroutine(LoadScene()); } IEnumerator LoadScene() { async = Application.LoadLevelAsync("Scene"); yield return async; flag = true; } }
加载场景但不激活web
using UnityEngine; using System.Collections; public class Test : MonoBehaviour { public UISlider progressSlider; bool flag = false; AsyncOperation async; // Use this for initialization void Start() { StartCoroutine(LoadScene()); } // Update is called once per frame void Update() { if (flag && progressSlider.value!=1) { progressSlider.value = async.progress; } } void OnClick() { async.allowSceneActivation = true; } IEnumerator LoadScene() { async = Application.LoadLevelAsync("Scene"); async.allowSceneActivation = false; flag = true; yield return async; } }
http://forum.unity3d.com/threads/using-allowsceneactivation.166106/
async
导出webplayer版发现进入第一个场景后,第二个场景没有预加载,缘由是勾选了Streamed。ide