LoadScene场景异步加载

LoadScene场景异步加载

using UnityEngine;

using System.Collections;

using UnityEngine.SceneManagement;

using UnityEngine.UI;

public class LoadScene: MonoBehaviour

{

    public Slider Slider;//定义滑动条

    private AsyncOperation async;

    private int number = 0;

    private int num = 0;

    private void Start()

    {

         //赋初始值

        Slider.value = 0;

         //开启协程

        StartCoroutine("start");

    }

    void Update()

    {

         //滑动条的移动

        Slider.value = number / 100f;

    }

         //协程

    private IEnumerator start()

    {

         //要加载的大场景Scene

        async = SceneManager.LoadSceneAsync("Scene");

         //初始加载场景不激活

        async.allowSceneActivation = false;

         //增加滑动平滑性

        while (async.progress < 0.9f)

        {

               //加载进度

            num = (int)async.progress * 100;

            while (number < num)

            {

                ++number;

                //等待时长

                yield return new WaitForSeconds(0);

            }

        }       

        num = 100;

         //增加平滑效果

        while (number < num)

        {

            ++number;

             //等待时长

            yield return new WaitForSeconds(0);

        }

         //加载场景激活

        async.allowSceneActivation = true;

    }

}

注:加载的场景Scene需要要将场景添加到构建设置,请使用菜单File-> Build Settings ...之后才可使用.......

支持个人观看使用,如商用或转载,请告知! -----萧朗(QQ:453929789 Email:xiaolang_xl@sina.com)
原文地址:https://www.cnblogs.com/XiaoLang0/p/9597854.html