Unity 进度条

    xiaoxiao2021-03-25  94

    废话不多说,上来就是代码就是一梭子:

    using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.SceneManagement; public class JumpScreen : MonoBehaviour {     public GameObject _Slider;     public Image _Image;     AsyncOperation asy;     bool isjump = false;     bool realJump = false; // Use this for initialization void Start () { } // Update is called once per frame void Update () {          }     public void LoadScreen(string ScreenName)     {         StartCoroutine("load", ScreenName);     }     IEnumerator load(string name)     {         if (!realJump)         {             realJump = true;             asy = SceneManager.LoadSceneAsync(name);             asy.allowSceneActivation = false;             isjump = true;             float bloodValue = 0;             float jindutiao = 0;             //while (asy.progress < 0.9f)             //{             //    print(_Slider.GetComponent<Slider>().value);             //    print("     " + asy.progress);             //    bloodValue = Mathf.Lerp(bloodValue, asy.progress, 0.01f);             //    _Slider.GetComponent<Slider>().value = bloodValue;             //    _Slider.GetComponent<Slider>().value = asy.progress;             //    yield return new WaitForEndOfFrame();             //}             //_Slider.GetComponent<Slider>().value += 0.1f;             //asy.allowSceneActivation = true;             while (asy.progress < 0.9f)         //注意不能点2次,会卡死,需要做保护处理             {                 bloodValue = asy.progress;                 while (jindutiao < bloodValue)                 {                     jindutiao += 0.1f;                     _Image.GetComponent<Image>().fillAmount = jindutiao;                     _Slider.GetComponent<Slider>().value = jindutiao;                     yield return new WaitForEndOfFrame();                 }             }             bloodValue = 1;             while (jindutiao < bloodValue)             {                 jindutiao += 0.1f;                 _Image.GetComponent<Image>().fillAmount = jindutiao;                 _Slider.GetComponent<Slider>().value = jindutiao;                 print(jindutiao);                 yield return new WaitForEndOfFrame();             }                          asy.allowSceneActivation = true;             //yield return null;           }     } }

    转载请注明原文地址: https://ju.6miu.com/read-20938.html

    最新回复(0)