当前位置:   article > 正文

unity异步加载

unity异步加载

异步加载可以优化代码,相比同步加载,异步加载可以在UI界面添加Slider这个进度条和代码来实现异步加载,它可以提升用户体验,不会进入游戏场景后,场景加载还没完成。

使用异步加载记得引入命名空间

  1. using UnityEngine.UI;
  2. using UnityEngine.SceneManagement;//使用unity异步加载需要添加这个命名空间
  3. public class Logins : MonoBehaviour {
  4. public Slider slider;//获取到进度条
  5. public Text progress;
  6. private AsyncOperation async;//异步加载对象
  7. //nowProgress 能看见的进度条 toProgress 接收progress这个值
  8. private int nowProgress, toProgress;
  9. // Use this for initialization
  10. void Start () {
  11. StartCoroutine("Load", 0);
  12. }
  13. IEnumerator Load(int index)
  14. {
  15. //异步加载到另外一个游戏场景
  16. async = SceneManager.LoadSceneAsync(index);
  17. //先不让场景跳转 在满足条件实现跳转
  18. async.allowSceneActivation = false;
  19. yield return async;
  20. }
  21. // Update is called once per frame
  22. void Update () {
  23. if(async.progress<0.9f)//这个值比较特殊只能到达0.9
  24. {
  25. toProgress = (int)(async.progress * 100);
  26. }
  27. else
  28. {
  29. toProgress = 100;
  30. }
  31. if(nowProgress<toProgress)
  32. {
  33. nowProgress++;
  34. }
  35. slider.value = nowProgress/100.0f;
  36. progress.text = slider.value * 100 +"%";//百分比显示加载进度
  37. if(nowProgress==100)
  38. {
  39. async.allowSceneActivation=true;
  40. }
  41. }
  42. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/114224
推荐阅读
相关标签
  

闽ICP备14008679号