Unity3D异步加载游戏场景

来源:互联网 发布:网络订火车票时间限制 编辑:程序博客网 时间:2024/05/18 02:30
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。

0 0
原创粉丝点击