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。