引入命名空间

using UnityEngine.UI;

using UnityEngine.SceneManagement;

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; //引入命名空间
using UnityEngine.SceneManagement;//引入命名空间 public class S2Manager : MonoBehaviour
{
//UI进度条
private Slider _proSlider; //滑动条
//目的是对场景进行控制 获取进度值 和允许显示
private AsyncOperation _async;
//UI应该达到的进度
private int _currProgress;
//1. 获取滑动条
//协同加载(异步加载 不断获取进度值 经过计算赋值给滑动条)
// Use this for initialization
void Start ()
{
_currProgress = ;
_async = null;
_proSlider = GameObject.Find("Slider").GetComponent<Slider>();
StartCoroutine("LoadScene");
} // Update is called once per frame
void Update ()
{
//目的就是现实进度
_proSlider.value = _currProgress / 100.0f;
} IEnumerator LoadScene()
{
//临时的进度
int tmp;
//异步加载
_async = SceneManager.LoadSceneAsync("S3"); //跳转场景为S3 //先不显示场景 等到进度为100%的时候显示场景 必须的!!!!
_async.allowSceneActivation = false;
#region 优化进度的
while (_async.progress < 0.9f)
{
//相当于滑动条应该到的位置
tmp = (int) _async.progress * ; //当滑动条 < tmp 就意味着滑动条应该变化
while (_currProgress < tmp)
{
++_currProgress;
yield return new WaitForEndOfFrame();
}
}//while end 进度为90% tmp = ;
while (_currProgress < tmp)
{ ++_currProgress;
yield return new WaitForEndOfFrame();
}
#endregion
//处理进度为0 ~0.9的0 //进度条完成 允许显示
_async.allowSceneActivation = true; }
}

同步和异步:

1. 同步直接怼过来 (若机器low或场景大 就会卡)
2. 异步 直接怼到一个中间场景(过度场景(显示进度条)) --> 到场景S3
3. 在异步中的两个while循环没啥大作用, 目的就是优化进度条的!!!

Unity中场景异步加载的更多相关文章

  1. LoadScene场景异步加载

    LoadScene场景异步加载 using UnityEngine; using System.Collections; using UnityEngine.SceneManagement; usin ...

  2. 新手教程:不写JS,在MIP页中实现异步加载数据

    从需求谈起:在 MIP 页中异步加载数据 MIP(移动网页加速器) 的 加速原理 除了靠谱的 MIP-Cache CDN 加速外,最值得一提的就是组件系统.所有 JS 交互都需要使用 MIP 组件实现 ...

  3. UNITY所谓的异步加载几乎全部是协程,不是线程;MAP3加载时解压非常慢

    实践证明,以下东西都是协程,并非线程(thread): 1,WWW 2,AssetBundle.LoadFromFileAsync 3,LoadSceneAsync 其它未经测试 此问题的提出是由于一 ...

  4. Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案

    我们在使用ListView异步加载图片的时候,在快速滑动或者网络不好的情况下,会出现图片错位.重复.闪烁等问题,其实这些问题总结起来就是一个问题,我们需要对这些问题进行ListView的优化. 比如L ...

  5. listview中getview异步加载网络图片

    前言:本以为异步加载挺简单,因为网上代码多,但真想要做好,还真不那么简单,从看代码到弄懂再到自己写,实在是有太多的东西需要学了,用了两天的时间,终于弄出来了,因为用到回调函数,所以理解起来可能难度有点 ...

  6. Android中ListView异步加载数据

    1.主Activity public class MainActivity extends Activity { private ListView listView; private ArrayLis ...

  7. IOS中UITableView异步加载图片的实现

    本文转载至 http://blog.csdn.net/enuola/article/details/8639404  最近做一个项目,需要用到UITableView异步加载图片的例子,看到网上有一个E ...

  8. cocos2d-x lua中实现异步加载纹理

    原文地址:  http://www.cnblogs.com/linchaolong/p/4033118.html 前言   问题:最近项目中需要做一个loading个界面,界面中间有一个角色人物走动的 ...

  9. Unity中资源动态加载的几种方式比较

    http://blog.csdn.net/leonwei/article/details/18406103 初学Unity的过程中,会发现打包发布程序后,unity会自动将场景需要引用到的资源打包到安 ...

随机推荐

  1. 【题解】P2602[JZOI2010]数字计数

    [题解][P2602ZJOI2010]数字计数 乍看此题,感觉直接从数字的位上面动手,感觉应该很容易. 但是仔细看数据范围,发现如果不利用计数原理,肯定会超时,考虑数码出现的特征: \(A000\)到 ...

  2. CUDA: 常量内存与事件

    常量内存: 常量内存用于保存在核函数执行期间不会发生变化的数据,在变量面前添加  __constant__  修饰符: __constant__  Sphere  s[SPHERES]; cudaMe ...

  3. python_learn1

    1.python在命令行获取当前的路径. import os os.getcwd() os.chdir(r"C:\Users\szlon\Desktop\pythonexer") ...

  4. Java基础教程:面向对象编程[1]

    Java基础教程:面向对象编程 内容大纲 Java语言概述 Java语言特点 1.Java为纯面向对象的语言,它能够直接反映现实生活中的对象.总之,Everything is object! 2.平台 ...

  5. STM32 FSMC学习笔记+补充(LCD的FSMC配置)

    STM32 FSMC学习笔记+补充(LCD的FSMC配置) STM32 FSMC学习笔记 STM32 FSMC的用法--LCD

  6. luoguP3066 [USACO12DEC]逃跑的BarnRunning

    luoguP3066 [USACO12DEC]逃跑的BarnRunning 题目大意 给定一棵n个节点的树和参数L,查询每个节点子树中到达该节点距离<=L的数量(包括该节点) 偏模板的主席树 P ...

  7. 《机器学习实战》学习笔记第七章 —— AdaBoost元算法

    主要内容: 一.提升方法与AdaBoost算法的简介 二.AdaBoost算法 三.代码解释 一.提升方法与AdaBoost算法的简介 1.提升方法:从弱学习算法出发,反复学习,得到一系列弱分类器(又 ...

  8. 假日旅游CSS网页模板

    假日旅游CSS3网页模板,蓝色,旅游,假日,公司,设计,主页,HTML,DIV+CSS,模板下载. http://www.huiyi8.com/lvyoumuban/css/

  9. BZOJ 1231 [Usaco2008 Nov]mixup2 混乱的奶牛:状压dp + 滚动数组

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1231 题意: 给你n个数字s[i],问你有多少个排列,使得任意相邻两数字之差的绝对值大于m ...

  10. Linux Shell: 统计系统中占用Swap 的程序PID和占用大小

    #!/bin/bash  SUM=0 OVERALL=0 for DIR in `find /proc/ -maxdepth 1 -type d -regex "^/proc/[0-9]+& ...