Unity 异步加载进度条


 1 public class View_LoadingScene : MonoBehaviour
 2     {
 3         //场景加载进度条对象
 4         public GameObject loadingProgressBar;
 5         //进度条组件
 6         private Slider _loadingProgressBarComp;
 7         //当前进度值
 8         private float _curProgressValue = 0f;
 9 
10         private AsyncOperation _asyncOp;
11         private void Awake()
12         {
13             if(loadingProgressBar != null)
14             {
15                 //获取进度条组件
16                 _loadingProgressBarComp = loadingProgressBar.GetComponent<Slider>();
17             }
18         }
19         private void Start()
20         {
21       
22             StartCoroutine("LoadingLevelAsync");
23         }
24         private void Update()
25         {
26             //模拟加载进度
27             if(_loadingProgressBarComp.value <= 1f)
28             {
29                 SimulateLoad();
30             }
31             _loadingProgressBarComp.value = _curProgressValue;
32 
33         }
34 
35         private void SimulateLoad()
36         {
37             _curProgressValue += 0.01f;         
38         }
39 
40         //异步加载核心函数
41         IEnumerator LoadingLevelAsync()
42         {
43             _asyncOp = SceneManager.LoadSceneAsync("2_LogonScene");
44             _curProgressValue = _asyncOp.progress;
45             yield return _asyncOp;
46         }
47     }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM