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;
            }
        }
    
    }

    比较简单,直接上代码了,比较坑爹的地方做了注释~

  • 相关阅读:
    ssh免密登录
    jdk安装
    jq选择器
    使用<button></button>标签
    mysql连接字符串
    如何把maven项目转成web项目
    pl/sql连接远程oracle
    Oracle 存储过程
    SQL Server存储过程
    MySQL存储过程
  • 原文地址:https://www.cnblogs.com/wonderKK/p/3976213.html
Copyright © 2011-2022 走看看