【Unity笔记】使用协程(Coroutine)异步加载场景
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)异步加载场景的更多相关文章
- 【Unity笔记】协程Coroutine的简单优化
一个最简单的协程,也至少需要2帧才能完成.第一帧走到yield return null停止,第二帧从此处接着执行完下面的操作.需求:如果缓存中存在某数据则直接使用,否则联网异步下载. private ...
- Unity 异步加载场景
效果图如下: 今天一直在纠结如何加载场景,中间有加载画面和加载完毕的效果动画! A 场景到 B , 看见网上的做法都是 A –> C –> B. C场景主要用于异步加载B 和 播放一些 ...
- Unity3D_异步加载场景(进度条)
创建两个场景:现在的场景“NowScene”,要加载的场景“LoadScene”: “NowScene”如图所示,“LoadScene”任意: 创建脚本“AsyncLoadScene”,复制如下代码, ...
- Android学习笔记(二)之异步加载图片
最近在android开发中碰到比较棘手的问题,就是加载图片内存溢出.我开发的是一个新闻应用,应用中用到大量的图片,一个界面中可能会有上百张图片.开发android应用的朋友可能或多或少碰到加载图片内存 ...
- Unity协程实现伪加载页面
先上效果图预览. ============================开始写实现方法================================ 1.我用的是UGUI,先在空场景中新建Slid ...
- Unity异步加载场景loading条
using UnityEngine; using System.Collections; public class LoadingScene : MonoBehaviour { public UISl ...
- Unity异步加载场景
在游戏中,经常可以看到从一个关卡跳到另一个关卡时,有一个显眼的进度条,研究了下,其时也很简单: public void LoadAScene() { StartCoroutine(LoadSce ...
- Unity跳转场景进度条制作教程(异步加载)
Unity跳转场景进度条制作 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享 ...
- Unity 协程(Coroutine)原理与用法详解
前言: 协程在Unity中是一个很重要的概念,我们知道,在使用Unity进行游戏开发时,一般(注意是一般)不考虑多线程,那么如何处理一些在主任务之外的需求呢,Unity给我们提供了协程这种方式 为啥在 ...
随机推荐
- OpenStack网络介绍
OpenStack网络介绍 OpenStack里面的网络相对复杂.经常有人对几个网络概念搞混淆.因此,本文对OpenStack里面的Provider network 和 Tenant netw ...
- MySQL-关于事务的使用
如果你一次执行单条查询语句, 则没有必要启用事务支持, 数据库默认支持SQL执行期间的读一致性, 如果你一次执行多条查询语句, 例如统计查询, 报表查询, 在这种场景下, 多条查询SQL必须保证整体的 ...
- HDUOJ----2647Reward
Reward Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- 马哥 Linux运维基础进阶和shell入门
地址:http://edu.51cto.com/course/course_id-618.html 紧接马哥linux专题 第一讲 Bash变量: 1byte= -128,127 2bytes -32 ...
- Spring.net(二)----初探IOC容器
我在上一篇关于Spring.net的文章“Spring.NET框架简介及模块说明 ”中很详细的介绍了,本文就不旧话从提.我门就直奔主题吧. 1.首先了解两个接口. IObjectFactory接口和 ...
- DBA_实践指南系列8_Oracle Erp R12数据维护模式Adadmin(案例)
2013-12-08 Created By BaoXinjian
- /proc/meminfo分析(一)
本文主要分析/proc/meminfo文件的各种输出信息的具体含义. 一.MemTotal MemTotal对应当前系统中可以使用的物理内存. 这个域实际是对应内核中的totalram_pages这个 ...
- gradle平级项目引用
一.准备1. 新建一个gradle项目cc-core2. 新建一个gradle项目cc-util 二.场景项目cc-core引用项目cc-util 三.配置1. 项目cc-util被引用的项目什么都不 ...
- Java JNI的具体介绍
JNI就是Java Native Interface的简称,也就是java本地接口.它提供了若干的API实现了和Java和其它语言的通信(主要是C&C++).也许不少人认为Java已经足够强大 ...
- sklearn 中的交叉验证
sklearn中的交叉验证(Cross-Validation) sklearn是利用python进行机器学习中一个非常全面和好用的第三方库,用过的都说好.今天主要记录一下sklearn中关于交叉验证的 ...