先上代码:

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.SceneManagement;
  5. using UnityEngine.UI;
  6. #region 佛祖保佑
  7. /*
  8. _ooOoo_
  9. o8888888o
  10. 88" . "88
  11. (| -_- |)
  12. O\ = /O
  13. ____/`---'\____
  14. .' \\| |// `.
  15. / \\||| : |||// \
  16. / _||||| -:- |||||- \
  17. | | \\\ - /// | |
  18. | \_| ''\---/'' | |
  19. \ .-\__ `-` ___/-. /
  20. ___`. .' /--.--\ `. . __
  21. ."" '< `.___\_<|>_/___.' >'"".
  22. | | : `- \`.;`\ _ /`;.`/ - ` : | |
  23. \ \ `-. \_ __\ /__ _/ .-` / /
  24. ======`-.____`-.___\_____/___.-`____.-'======
  25. `=---='
  26. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  27. 佛祖保佑 永无BUG
  28. */
  29. #endregion
  30. public class AsyncLoadScene : MonoBehaviour
  31. {
  32. public static string NEXTSCENENAME = "ChooseLevelScene";
  33. private Text text_loadProgress;
  34. private RectTransform rectTransform_progressBar;
  35. private AsyncOperation asyncLoadScene;
  36. private float progressValue;
  37. private void Start()
  38. {
  39. text_loadProgress = transform.Find("Text").GetComponent<Text>();
  40. rectTransform_progressBar = transform.Find("Image").GetComponent<RectTransform>();
  41. asyncLoadScene = SceneManager.LoadSceneAsync(NEXTSCENENAME);
  42. asyncLoadScene.allowSceneActivation = false;
  43. }
  44. private void Update()
  45. {
  46. if(text_loadProgress && rectTransform_progressBar)
  47. {
  48. progressValue = Mathf.Lerp(progressValue, asyncLoadScene.progress / 0.9F, Time.deltaTime);
  49. text_loadProgress.text = (progressValue * 100F).ToString("F0") + "%";
  50. rectTransform_progressBar.sizeDelta = new Vector2(progressValue * 1280F, 85F);
  51. if(rectTransform_progressBar.sizeDelta.x > 1275F) asyncLoadScene.allowSceneActivation = true;
  52. }
  53. }
  54. }

接着如果你感到迷惑,请看如下游戏对象层级:

脚本挂在Panel对象上

那如何使用她呢?

  1. public GameObject Prefab_loadScene;
  2. private void Click_play(){
  3. Instantiate(Prefab_loadScene);
  4. }
  5. //--------------或者请看如下----------------
  6. public GameObject Prefab_loadScene;
  7. private void Click_play(){
      AsyncLoadScene.NEXTSCENENAME = "MainScene";
      GameObject loadScener = Instantiate(Prefab_loadScene);
  1. }

Unity异步加载进度条的更多相关文章

  1. Unity 异步加载进度条

    public class View_LoadingScene : MonoBehaviour { //场景加载进度条对象 public GameObject loadingProgressBar; / ...

  2. Unity 异步加载 进度条

    当我们进行游戏开发时,时常会进行场景切换,如果下个场景较大,切换时就会出现卡顿现象,甚至看起来像是"死机",非常影响用户体验,我们这时就可以运用异步加载,在界面上显示加载的进度条以 ...

  3. JS -- 异步加载进度条

    今天在博客园问答里面看到博友问道怎么实现Ajax异步加载产生进度条. 很好奇就自己写了一个. 展现效果: 1) 当点击Load的时候,模拟执行异步加载. 浏览器被遮挡. 进度条出现. 实现思路: 1. ...

  4. unity WWW加载进度条

    using UnityEngine; using System.Collections; public class testProgress : MonoBehaviour { void Start ...

  5. css3 linear-gradient实现页面加载进度条效果

    最终效果图: html结构: <div>    <p class="p1">        <span></span>    < ...

  6. ajax页面加载进度条插件

    下面两个都是youtube视频的加载进度条效果的ajax插件 一.官网:http://ricostacruz.com/nprogress/官网 github:https://github.com/rs ...

  7. pace.js – 加载进度条插件

    这儿只是简单介绍一下这个插件pace.js. 在页面中引入Pace.js,页面就会自动监测你的请求(包括Ajax请求),在事件循环滞后,会在页面记录加载的状态以及进度情况.此插件的兼容性很好,可以兼容 ...

  8. 仿UC浏览器图片加载进度条

    前几天用UC浏览器看新闻(无意中给UC打了广告),看到它的图片加载进度条,正好最近有时间,所以就自己写了一个. 效果图如下 进度条的底色和填充颜色都可以调整. 首先中间的笑脸作为一个整体,其实现代码如 ...

  9. 【Web前沿技术】纯 CSS3 打造的10个精美加载进度条动画

    之前向大家介绍8款优秀的 jQuery 加载动画和进度条插件,今天这篇文章向大家推荐10个纯 CSS3 代码实现精美加载进度条动画效果的方案.加载动画和进度条在网站和 Web 应用中的使用非常流行,特 ...

随机推荐

  1. 虚拟机快速下载安装配置aarch64-linux-gnu-gcc工具链

    方式一:软件仓库安装 此方法不用自己去配置交叉编译工具链 1.查看本地仓库有支持哪些版本哪些 输入命令: apt-cache search aarch64 2.下载安装 gcc-8-aarch64-l ...

  2. Tomcat&Http协议-授课

    1 企业开发简介 1.1 JavaEE规范 JavaEE规范是J2EE规范的新名称,早期被称为J2EE规范,其全称是Java 2 Platform Enterprise Edition,它是由SUN公 ...

  3. 从零搭建springboot服务03-redis消息订阅

    愿历尽千帆,归来仍是少年 1.所需依赖 <!-- Redis依赖 --> <dependency> <groupId>org.springframework.boo ...

  4. [刷题] 437 Paths Sum III

    要求 给出一棵二叉树及一个数字sum,判断这棵二叉树上存在多少条路径,其路径上的所有节点和为sum 路径不一定始于根节点,终止于叶子节点 路径要一直向下 思路 分情况讨论:根节点在路径上(8) / 根 ...

  5. unrar命令解压rar unrar e XXX.rar (验证通过20200511)

    unrar命令解压rar 一个从入门到放弃再到改行的工程师 2018-05-02 17:53:04 3916 收藏展开压缩tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成 ...

  6. Log4j 配置多个 Logger

    引言 Log4j 是 Java 的主流日志框架,通过灵活的配置可以提供各种类型的日志服务. 在使用 Log4j 进行实际项目开发的过程中,有时不想使用 rootLogger 记录器,把所有的日志都输出 ...

  7. iowait 的常见误解

    转自:理解 %IOWAIT (%WIO):http://linuxperf.com/?p=33   %iowait 是 "sar -u" 等工具检查CPU使用率时显示的一个指标,在 ...

  8. SpringMVC MVC 架构模式

    MVC 架构模式 MVC(Model.View 和 Controller)是一种架构模式,它是按照职责划分的思想将系统操作分为三个模块进行处理,每个模块负责一个职责,而且模块之间可以相互交互通信,共同 ...

  9. PID参数

    大家奉上一篇关于PID算法及参数整定的知识! 1.位置表达式 位置式表达式是指任一时刻PID控制器输出的调节量的表达式. PID控制的表达式为 式中的y(t)为时刻t控制器输出的控制量,式中的y(0) ...

  10. (xxx) is not defined at HTMLInputElement.onblur(Day_27)

    错误: 这个报错我当时是卡了很久,方法是肯定没有问题的,但js所有的事件都失效了. 解决方案: 1.检查js命名是否有误,若外部引用js文件,尽量使用全小写命名,遵守js命名规范. 2.若还不行,请将 ...