- 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;
- }
- }
加载场景但不激活
- 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;
- }
- }
此处有个bug,或许是我做的不对,async.progress最大只能到9。
http://forum.unity3d.com/threads/using-allowsceneactivation.166106/
导出webplayer版发现进入第一个场景后,第二个场景没有预加载,原因是勾选了Streamed。