当前位置:   article > 正文

UNITY之进度条加载场景_unity progress dovalue

unity progress dovalue
using UnityEngine;
using System.Collections;

public class LoadingTest : MonoBehaviour {


    public UIProgressBar progress;

    // Use this for initialization
    void Start () {
    
        StartCoroutine (StartLoading_2());
    }
    
    // Update is called once per frame
    void Update () {
    
    }
        

    IEnumerator StartLoading_1(){
        AsyncOperation op = Application.LoadLevelAsync ("Scene05");
        while(!op.isDone){
            //
            setProgress (op.progress*100);
            yield return new WaitForEndOfFrame();
        }
    }


    IEnumerator StartLoading_2(){
        AsyncOperation op=Application.LoadLevelAsync("Scene05");
        op.allowSceneActivation=false;
        while(op.progress<0.9f){
            //
            setProgress (op.progress*100);
            yield return new WaitForEndOfFrame();
        }
    }

    IEnumerator StartLoading_3(){
        AsyncOperation op=Application.LoadLevelAsync("Scene05");
        op.allowSceneActivation=false;
        while(op.progress<0.9f){
            //
            setProgress (op.progress*100);
            yield return new WaitForEndOfFrame();
        }
        setProgress (100);
        //
        yield return new WaitForEndOfFrame();
        op.allowSceneActivation=true;
    }

    IEnumerator StartLoading_4(){
    

    
        int displayProgress=0;
        int toProgress=0;
        AsyncOperation op=Application.LoadLevelAsync("Scene05");
        op.allowSceneActivation=false;
        while(op.progress<0.9f){
            toProgress=(int)(op.progress*100);
            while(displayProgress<toProgress){
                ++displayProgress;
                //
                setProgress((float)displayProgress);
                yield return new WaitForEndOfFrame();
            }
        }

        //当op为0.9时,如果allowSceneActivation为true则直接跳转,取不到0.9后面的值,
        //所以这里先将allowSceneActivation设为false,当op.progress为0.9时,将toProgress=100,
        //运行滚动条值的累加,直到为100时,才去激活allowSceneActivation,进行场景跳转

        toProgress=100;
        while(displayProgress<toProgress){
            ++displayProgress;
            //
            setProgress((float)displayProgress);
            yield return new WaitForEndOfFrame();
        }
        op.allowSceneActivation=true;
    }
    void setProgress(float _value){
        progress.value=_value/100;
    }
}
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/102661
推荐阅读
相关标签
  

闽ICP备14008679号