using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
using System; public class LoadingPage : MonoBehaviour { public UISlider progressBar; // 目标进度
float target = ;
// 读取场景的进度,取值范围0~1
float progress = ;
// 异步对象
AsyncOperation op = null; void Start () {
Debug.Log("开始LoadScene"); op = SceneManager.LoadSceneAsync("GamePlayScene");
op.allowSceneActivation = false;
progressBar.value = ; // 开启协程,开始调用加载方法
StartCoroutine(processLoading());
} float dtimer = ;
void Update()
{
progressBar.value = Mathf.Lerp(progressBar.value, target, dtimer * 0.02f);
dtimer += Time.deltaTime;
if (progressBar.value > 0.99f)
{
progressBar.value = ;
op.allowSceneActivation = true;
}
} // 加载进度
IEnumerator processLoading()
{
while (true)
{
target = op.progress; // 进度条取值范围0~1
if (target >= 0.9f)
{
target = ;
yield break;
}
yield return ;
}
} }

【Unity笔记】使用协程(Coroutine)异步加载场景的更多相关文章

  1. 【Unity笔记】协程Coroutine的简单优化

    一个最简单的协程,也至少需要2帧才能完成.第一帧走到yield return null停止,第二帧从此处接着执行完下面的操作.需求:如果缓存中存在某数据则直接使用,否则联网异步下载. private ...

  2. Unity 异步加载场景

    效果图如下: 今天一直在纠结如何加载场景,中间有加载画面和加载完毕的效果动画! A 场景到 B ,  看见网上的做法都是 A –> C –> B.  C场景主要用于异步加载B 和 播放一些 ...

  3. Unity3D_异步加载场景(进度条)

    创建两个场景:现在的场景“NowScene”,要加载的场景“LoadScene”: “NowScene”如图所示,“LoadScene”任意: 创建脚本“AsyncLoadScene”,复制如下代码, ...

  4. Android学习笔记(二)之异步加载图片

    最近在android开发中碰到比较棘手的问题,就是加载图片内存溢出.我开发的是一个新闻应用,应用中用到大量的图片,一个界面中可能会有上百张图片.开发android应用的朋友可能或多或少碰到加载图片内存 ...

  5. Unity协程实现伪加载页面

    先上效果图预览. ============================开始写实现方法================================ 1.我用的是UGUI,先在空场景中新建Slid ...

  6. Unity异步加载场景loading条

    using UnityEngine; using System.Collections; public class LoadingScene : MonoBehaviour { public UISl ...

  7. Unity异步加载场景

    在游戏中,经常可以看到从一个关卡跳到另一个关卡时,有一个显眼的进度条,研究了下,其时也很简单: public void LoadAScene() {    StartCoroutine(LoadSce ...

  8. Unity跳转场景进度条制作教程(异步加载)

    Unity跳转场景进度条制作 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享 ...

  9. Unity 协程(Coroutine)原理与用法详解

    前言: 协程在Unity中是一个很重要的概念,我们知道,在使用Unity进行游戏开发时,一般(注意是一般)不考虑多线程,那么如何处理一些在主任务之外的需求呢,Unity给我们提供了协程这种方式 为啥在 ...

随机推荐

  1. OpenStack网络介绍

    OpenStack网络介绍     OpenStack里面的网络相对复杂.经常有人对几个网络概念搞混淆.因此,本文对OpenStack里面的Provider network 和 Tenant netw ...

  2. MySQL-关于事务的使用

    如果你一次执行单条查询语句, 则没有必要启用事务支持, 数据库默认支持SQL执行期间的读一致性, 如果你一次执行多条查询语句, 例如统计查询, 报表查询, 在这种场景下, 多条查询SQL必须保证整体的 ...

  3. HDUOJ----2647Reward

    Reward Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  4. 马哥 Linux运维基础进阶和shell入门

    地址:http://edu.51cto.com/course/course_id-618.html 紧接马哥linux专题 第一讲 Bash变量: 1byte= -128,127 2bytes -32 ...

  5. Spring.net(二)----初探IOC容器

    我在上一篇关于Spring.net的文章“Spring.NET框架简介及模块说明 ”中很详细的介绍了,本文就不旧话从提.我门就直奔主题吧. 1.首先了解两个接口.  IObjectFactory接口和 ...

  6. DBA_实践指南系列8_Oracle Erp R12数据维护模式Adadmin(案例)

    2013-12-08 Created By BaoXinjian

  7. /proc/meminfo分析(一)

    本文主要分析/proc/meminfo文件的各种输出信息的具体含义. 一.MemTotal MemTotal对应当前系统中可以使用的物理内存. 这个域实际是对应内核中的totalram_pages这个 ...

  8. gradle平级项目引用

    一.准备1. 新建一个gradle项目cc-core2. 新建一个gradle项目cc-util 二.场景项目cc-core引用项目cc-util 三.配置1. 项目cc-util被引用的项目什么都不 ...

  9. Java JNI的具体介绍

    JNI就是Java Native Interface的简称,也就是java本地接口.它提供了若干的API实现了和Java和其它语言的通信(主要是C&C++).也许不少人认为Java已经足够强大 ...

  10. sklearn 中的交叉验证

    sklearn中的交叉验证(Cross-Validation) sklearn是利用python进行机器学习中一个非常全面和好用的第三方库,用过的都说好.今天主要记录一下sklearn中关于交叉验证的 ...