zoukankan      html  css  js  c++  java
  • Unity异步加载场景loading条

    using UnityEngine;
    using System.Collections;
    
    public class LoadingScene : MonoBehaviour {
    
        public UISlider processBar;
        private AsyncOperation async;
        private uint _nowprocess;
        // Use this for initialization
        void Start () 
        {
            _nowprocess = 0;
            StartCoroutine(loadScene());
        }
    
        IEnumerator loadScene()
        {
            //异步读取场景。
            //Globe.loadName 就是A场景中需要读取的C场景名称。
            async = Application.LoadLevelAsync(GlobalVaule.LoadLevelName);
            async.allowSceneActivation = false;
             //读取完毕后返回, 系统会自动进入C场景
             yield return async;
            
        }
    
        void Update()
        {
            if(async == null)
            {
                return;
            }
    
            uint toProcess;
            Debug.Log(async.progress * 100);
            if(async.progress < 0.9f)//坑爹的progress,最多到0.9f
            {
                  toProcess = (uint)(async.progress * 100);
            }
            else
            {
                 toProcess = 100;
            }
    
            if(_nowprocess < toProcess)
            {
                _nowprocess++;
            }
    
            processBar.value = _nowprocess/100f;
    
            if (_nowprocess == 100)//async.isDone应该是在场景被激活时才为true
            {
                async.allowSceneActivation = true;
            }
        }
    
    }
  • 相关阅读:
    .NET 4.6.1 给cookie添加属性
    Blog目录
    1019 数字黑洞
    1018 锤子剪刀布
    1017 A除以B
    1016 部分A+B
    1015 德才论
    1014 福尔摩斯的约会
    1013 数素数
    1012 数字分类
  • 原文地址:https://www.cnblogs.com/littleYellowDoggy/p/5078711.html
Copyright © 2011-2022 走看看