赞
踩
异步加载可以优化代码,相比同步加载,异步加载可以在UI界面添加Slider这个进度条和代码来实现异步加载,它可以提升用户体验,不会进入游戏场景后,场景加载还没完成。
使用异步加载记得引入命名空间
- using UnityEngine.UI;
- using UnityEngine.SceneManagement;//使用unity异步加载需要添加这个命名空间
-
- public class Logins : MonoBehaviour {
- public Slider slider;//获取到进度条
- public Text progress;
- private AsyncOperation async;//异步加载对象
- //nowProgress 能看见的进度条 toProgress 接收progress这个值
- private int nowProgress, toProgress;
- // Use this for initialization
- void Start () {
- StartCoroutine("Load", 0);
- }
- IEnumerator Load(int index)
- {
- //异步加载到另外一个游戏场景
- async = SceneManager.LoadSceneAsync(index);
- //先不让场景跳转 在满足条件实现跳转
- async.allowSceneActivation = false;
- yield return async;
- }
- // Update is called once per frame
- void Update () {
- if(async.progress<0.9f)//这个值比较特殊只能到达0.9
- {
- toProgress = (int)(async.progress * 100);
- }
- else
- {
- toProgress = 100;
- }
- if(nowProgress<toProgress)
- {
- nowProgress++;
- }
- slider.value = nowProgress/100.0f;
- progress.text = slider.value * 100 +"%";//百分比显示加载进度
- if(nowProgress==100)
- {
- async.allowSceneActivation=true;
- }
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。