当前位置:   article > 正文

Unity3d中制作异步Loading进度条所遇到的问题_loading-percentage

loading-percentage

背景

通常游戏的主场景包含的资源较多,这会导致加载场景的时间较长。为了避免这个问题,可以首先加载Loading场景,然后再通过Loading场景来加载主场景。因为Loading场景包含的资源较少,所以加载速度快。在加载主场景的时候一般会在Loading界面中显示一个进度条来告知玩家当前加载的进度。在Unity中可以通过调用Application.LoadLevelAsync函数来异步加载游戏场景,通过查询AsyncOperation.progress的值来得到场景加载的进度。

尝试——遇到问题

第一步当加载完Loading场景后,调用如下的LoadGame函数开始加载游戏场景,使用异步加载的方式加载场景1(Loading场景为0,主场景为1),通过Unity提供的Coroutine机制,我们可以方便的在每一帧结束后调用SetLoadingPercentage函数来更新界面中显示的进度条的数值。

  1. public void LoadGame() {
  2. StartCoroutine(StartLoading_1(1));
  3. }
  4. private IEnumerator StartLoading_1(int scene) {
  5. AsyncOperation op = Application.LoadLevelAsync(scene);
  6. while(!op.isDone) {
  7. SetLoadingPercentage(op.progress * 100);
  8. yield return new WaitForEndOfFrame();
  9. }
  10. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/125204
推荐阅读
相关标签
  

闽ICP备14008679号