NGUI的异步场景加载进度条
1、直接创建三个场景,其中第二个场景是用来显示进度条加载的界面,进度条用UISlider
2、这里提供两种方法,建议使用第一种,加载比较平缓
方法一:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement; public class LoadingPags : MonoBehaviour
{ public UISlider progressBar; //进度条的引用
private string ScenceName="C"; //加载场景的名字
private float dtimer = ;
private float target = ; AsyncOperation op = null; private void Start()
{
Debug.Log("进入异步"); //op = SceneManager.LoadSceneAsync(ScenceName); //进入loadScene方法
//op.allowSceneActivation = false; progressBar.value = ; //弃用前将其进行初始化了
StartCoroutine(ProcessLoading());
} private void Update()
{
dtimer += Time.deltaTime;
progressBar.value = Mathf.Lerp(progressBar.value, target, dtimer * 0.2f);
//乘以的数值用来控制加载的速度,当新场景比较小的时候可以使用较小的值,有一定的效果,当场景加载较大的时候就不建议这么使用了
if(progressBar.value>=0.99f)
{
progressBar.value = ; //使其的值达到完整
op.allowSceneActivation = true; //为true 的时候才可以进行加载新的场景
} }
IEnumerator ProcessLoading()
{ op = SceneManager.LoadSceneAsync(ScenceName); //进入loadScene方法
op.allowSceneActivation = false; while (true) //死循环,使其在场景没有加载完成时就不退出了
{
target = op.progress;
if(target>=0.9f) //当场景加载了90%了
{
target = ;
yield break;
}
yield return ; }
}
}
第二种:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement; public class Loadign : MonoBehaviour { public UISlider uislider;
private AsyncOperation asyn=null; public static string LoadingName; //声明一个静态的字符串变量俩保存要加载的场景名称
void Start ()
{
if(uislider)
{
//进度条丢失了
}
StartCoroutine(Loading());
} // Update is called once per frame
void Update ()
{ uislider.value = asyn.progress;
//Debug.Log(uislider.value);
//if (uislider.value>=0.8)
//{
// uislider.value = 1; // asyn.allowSceneActivation = true;
//} }
IEnumerator Loading()
{
asyn = SceneManager.LoadSceneAsync(); //加载第三个尝尽
asyn.allowSceneActivation = false;
//uislider.value = asyn.progress; //赋值
yield return asyn;
} //封装好的静态函数
public static void LoadNewScene(string value)
{
LoadingName = value;
SceneManager.LoadScene("Loadign");
} }
NGUI的异步场景加载进度条的更多相关文章
- Unity3D手游开发日记(3) - 场景加载进度条的完美方案
我以为做个进度条很简单,分分钟解决,结果折腾了一天才搞定,Unity有很多坑,要做完美需要逐一解决. 问题1:最简单的方法不能实现100%的进度 用最简单的方法来实现,不能实现100%的进度,原因是U ...
- Unity 异步加载进度条
public class View_LoadingScene : MonoBehaviour { //场景加载进度条对象 public GameObject loadingProgressBar; / ...
- Unity3D 场景切换加载进度条实现
需要三个场景,场景A,场景B,场景C: 场景A:一个按钮,点击加载场景B: 场景B:从A切换到C过度场景,加载进度条: 场景C:目标场景: 创建OnProgress.cs脚本: using Syste ...
- 【Web前沿技术】纯 CSS3 打造的10个精美加载进度条动画
之前向大家介绍8款优秀的 jQuery 加载动画和进度条插件,今天这篇文章向大家推荐10个纯 CSS3 代码实现精美加载进度条动画效果的方案.加载动画和进度条在网站和 Web 应用中的使用非常流行,特 ...
- css3 linear-gradient实现页面加载进度条效果
最终效果图: html结构: <div> <p class="p1"> <span></span> < ...
- ajax页面加载进度条插件
下面两个都是youtube视频的加载进度条效果的ajax插件 一.官网:http://ricostacruz.com/nprogress/官网 github:https://github.com/rs ...
- pace.js – 加载进度条插件
这儿只是简单介绍一下这个插件pace.js. 在页面中引入Pace.js,页面就会自动监测你的请求(包括Ajax请求),在事件循环滞后,会在页面记录加载的状态以及进度情况.此插件的兼容性很好,可以兼容 ...
- 仿UC浏览器图片加载进度条
前几天用UC浏览器看新闻(无意中给UC打了广告),看到它的图片加载进度条,正好最近有时间,所以就自己写了一个. 效果图如下 进度条的底色和填充颜色都可以调整. 首先中间的笑脸作为一个整体,其实现代码如 ...
- jQuery模拟页面加载进度条
因为我们无法通过任何方法获取整个页面的大小和当前加载了多少,所以想制作一个加载进度条的唯一办法就是模拟.那要怎么模拟呢? 我们知道,页面是从上往下执行的,也就是说我们可以大致估算出在页面的某个位置加载 ...
随机推荐
- 【BZOJ4491】我也不知道题目名字是什么 [线段树]
我也不知道题目名字是什么 Time Limit: 10 Sec Memory Limit: 512 MB[Submit][Status][Discuss] Description 给定一个序列A[i ...
- 极致的 Hybrid:航旅离线包再加速!(转)
资源离线的思路简单.场景复杂,最复杂的就是 H5 活动页面的离线化.Mobile Web 在弱网提速的唯一的办法就是坚决杜绝不必要的(运行时)网络请求,即除了 Json 格式的动态数据和其携带的商品配 ...
- javascript性能
1.js文件放在底部 js文件具有阻塞机制,放在头部,需要等待js下载解析完毕之后才能下载渲染页面,因此需要放在底部
- Ubuntu安装pip
首先打开终端 在终端输入:sudo apt-get install python-pip python-dev build-essential [+] 如果需要在Python3下安装pip,那么在py ...
- udpserver.pl 和 udpclient.pl
udpserver.pl #!use/bin/perl -w use Socket; #导入Socket库 ,INADDR_ANY);#压入sockaddr_in模式,利用了全局当地压缩地点INADD ...
- nginx学习时使用EditPuls编辑conf.xml
一.Nginx简介:是一个使用c语言开发的高性能的http服务器及反向代理服务器 二.由于在linux环境中使用vim修改配置文件相对困难.为此,我们可以借助EditPlus将虚拟机上面的目录引用到E ...
- 将MongoDB安装成为Windows服务
使用以下命令将MongoDB安装成为Windows服务.笔者的MongoDB目录为D:\Program Files\mongodb 切换到D:\Program Files\mongodb\bin> ...
- ios IAP 内购验证
参考我之前的笔记 苹果内购笔记,在客户端向苹果购买成功之后,我们需要进行二次验证. 二次验证 IOS在沙箱环境下购买成功之后,向苹果进行二次验证,确认用户是否购买成功. 当应用向Apple服务器请求购 ...
- 手机meta标签(保存下来省的每次都找)
手机网站Meta标签 手机端特有的Meta标签 1.<meta name="viewport" id="viewport" content="w ...
- HDU 4768: Flyer
题意: 有N个社团,每个社团三个属性A,B,C,表示会向编号A+k*C的同学发传单(k=0,1,2... && A+k*C <= B).题目保证最多有一个人收到的传单数是奇数. ...