unity 之 场景切换进度条显示

Posted unknown6248

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity 之 场景切换进度条显示相关的知识,希望对你有一定的参考价值。

一、UI建立建立slider适当更改即可;

技术图片

 

技术图片

 

 

二、新增loadScene脚本,用来进行场景切换,将其绑定任意物体上面。博主以放置主相机为例。参数分别为进度条(用来设置value值),显示进度文本text

 技术图片

在设置中加入两个场景:

 技术图片

三、脚本;

 1 /// <summary>
 2 /// 场景切换
 3 /// 在unity 获取当前加载进度progress中,其中最多到0.9.只有等到加载到第二个场景才会到1
 4 /// 所有在加载进度条时如果progress的值近似0.9,则直接将进度参数设置为1,实现进度到100%
 5 /// 并且progress的值是在一帧加载一些资源,所以其值不会是连续的,因此设置两个参数来记录当前
 6 /// 进度和页面显示的进度,进行++。
 7 /// </summary>
 8 public class loadScene : MonoBehaviour
 9 {
10     AsyncOperation async;
11     public Slider slider;
12     public Text text;//百分制显示进度加载情况
13 
14     void Start()
15     {
16         //开启协程
17         StartCoroutine("loginMy");
18     }
19     
20     void Update()
21     {
22        
23     }
24     IEnumerator loginMy()
25     {
26         int displayProgress = 0;
27         int toProgress = 0;
28         AsyncOperation op = SceneManager.LoadSceneAsync(1);
29         op.allowSceneActivation = false;
30         while (op.progress < 0.9f)  //此处如果是 <= 0.9f 则会出现死循环所以必须小0.9
31         {
32             toProgress = (int)op.progress * 100;
33             while (displayProgress < toProgress)
34             {
35                 ++displayProgress;
36                 SetLoadingPercentage(displayProgress);
37                 yield return new WaitForEndOfFrame();//ui渲染完成之后
38             }
39         }
40         toProgress = 100;
41         while (displayProgress < toProgress)
42         {
43             ++displayProgress;
44             SetLoadingPercentage(displayProgress);
45             yield return new WaitForEndOfFrame();
46         }
47         op.allowSceneActivation = true;
48 
49     }
50 
51     private void SetLoadingPercentage(int displayProgress)
52     {
53         slider.value = displayProgress;
54         text.text = displayProgress.ToString() + "%";
55     }
56 }

四、运行:

   技术图片

 

以上是关于unity 之 场景切换进度条显示的主要内容,如果未能解决你的问题,请参考以下文章

在unity3d里怎么做进度条

Unity3D 场景切换加载进度条实现

Unity 简单的进度条实现

如何在Unity3D使用 WWW 加载场景并显示进度条

Unity_加载页面及进度条

Unity带进度条加载场景及场变黑的解决方法