首页 > 编程语言 > 详细

unity3D AsyncOperation异步加载场景&百分比效果

时间:2021-05-07 00:55:45      阅读:79      评论:0      收藏:0      [点我收藏+]
技术分享图片
 1 using System.Collections;
 2 using UnityEngine;
 3 using UnityEngine.SceneManagement;
 4 using UnityEngine.UI;
 5 
 6 public class LoadAwait : MonoBehaviour
 7 {
 8     public GameObject loadPanel; //载入面板
 9     public Slider slider;//滑动条
10     public Text loadMsg;//载入提示信息
11     public GameObject UI_One;
12     public GameObject UI_Two;
13 
14     public void LoadNextScence()
15     {
16         StartCoroutine(LoadScence());
17     }
18     
19     IEnumerator LoadScence()
20     {
21         UI_One.gameObject.SetActive(false);//对象UI1,没有可忽视
22         UI_Two.gameObject.SetActive(true);//对象UI界面2,没有可忽视
23 
24         //显示载入界面
25         loadPanel.SetActive(true);
26 
27         //创建异步操作
28         AsyncOperation op = SceneManager.LoadSceneAsync(SceneManager.GetActiveScene().buildIndex + 1);
29 
30         //禁止激活下一个场景
31         op.allowSceneActivation = false;
32 
33         //如果没有加载完毕
34         while (!op.isDone)
35         {
36             //赋值0-1
37             slider.value = op.progress;
38 
39             //显示百分比
40             loadMsg.text = op.progress * 100 + "%";
41 
42             //大于等于0.9表示加载完毕
43             if (op.progress >= 0.9f)
44             {
45                 //直接修改值为1,表示100%
46                 slider.value = 1;
47 
48                 //修改提示内容
49                 loadMsg.text = "请按下任意按键,进入游戏!";
50 
51                 //判断按下任意按键时
52                 if (Input.anyKeyDown)
53                 {
54                     //加载下一个场景
55                     op.allowSceneActivation = true;
56                 }
57 
58             }
59 
60             //退出,返回空
61             yield return null;
62 
63         }
64     }
65 }
View Code

将代码挂载到画布下任意一个对象上,假设为空对象LoadManger

可以忽视UI_One和UI_Two

将对应的功能对象拖入公开变量

技术分享图片

给进入游戏按钮添加事件,将LoadManger拖入,选择LoadNextScence()

 技术分享图片

 效果

技术分享图片

unity3D AsyncOperation异步加载场景&百分比效果

原文:https://www.cnblogs.com/alanshreck/p/14737078.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!