Синхронизировать c слайдер с www.progress - PullRequest
0 голосов
/ 09 мая 2020

Я создаю новую игру и при запуске игры загружаю некоторые текстовые файлы и изображения в этом коде - это изображение, и я пытаюсь показать прогресс загрузки с помощью slider Я могу загрузить, но я никогда не получаю прогресс результаты на слайдере, кажется, я что-то забыл, потому что у меня нет ошибки.

Это мой код, используемый для загрузки моего изображения

using UnityEngine;
using UnityEngine.UI;

using System.Collections;

public class Downloadcontent : MonoBehaviour {
public string urld = "https://wizard3d2019.altervista.org/wp-content/uploads/2020/05/pub1.jpg";

public float progressPercent;
public Text downvalue;
public Slider sld;
IEnumerator Start() {

    StartCoroutine(Downcontentfile());
    WWW www = new WWW(urld);

    yield return www;




    yield return new WaitForSeconds (1f);


}

IEnumerator Downcontentfile() {

    WWW www = new WWW(urld);

    while (!www.isDone)
    {
        progressPercent = www.progress;
        sld.value = progressPercent;
        yield return null;
    }
    StartCoroutine(ShowProgress2(www));
    yield return www;

    System.IO.File.WriteAllBytes(@"C:\Program Files (x86)\Wizard2019\pub1.jpg", www.bytes);

}
private IEnumerator ShowProgress2(WWW www) {
    while (!www.isDone) {

        downvalue.text = progressPercent.ToString();
        Debug.Log(string.Format("Downloaded {0:P1}", www.progress));
        yield return new WaitForSeconds(.5f);
    }
    Debug.Log("Done");

}

}

Окончательный код

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
#if UNITY_EDITOR
using UnityEditor;
#endif
[ExecuteInEditMode]
public class Downloadcontent : MonoBehaviour {
#if UNITY_EDITOR
[MenuItem("GameObject/UI/Radial Progress Bar")]
public static void addradprogressbar(){
    GameObject obj = Instantiate(Resources.Load<GameObject>("UI/Radial ProgressBar"));
    obj.transform.SetParent(Selection.activeGameObject.transform, false);
}
#endif
public WWW po;
public string urld = "https://wizard3d2019.altervista.org/wp-content/uploads/2020/05/pub1.jpg";
public Image imgprogressrad;
public float progressPercent;
public Text downvalue;
public Slider sld;
IEnumerator Start() {

    StartCoroutine(Downcontentfile());
    WWW www = new WWW(urld);

    yield return www;




    yield return new WaitForSeconds (1f);


}

IEnumerator Downcontentfile() {

    WWW www = new WWW(urld);

    while (!www.isDone)
    {
        StartCoroutine(ShowProgress2(www));

        yield return null;
    }

    yield return www;

    System.IO.File.WriteAllBytes(@"C:\Program Files (x86)\Wizard2019\pub1.jpg", www.bytes);

}
private IEnumerator ShowProgress2(WWW www) {
    progressPercent = www.progress * 100;
    while (!www.isDone) {


        downvalue.text = progressPercent.ToString();
        sld.value = progressPercent;
        imgprogressrad.fillAmount = progressPercent / 100;
        Debug.Log(string.Format("Downloaded {0:P1}", www.progress));
        yield return new WaitForSeconds(.5f);
    }
    Debug.Log("Done");
    sld.value = 100;
    imgprogressrad.fillAmount =1;
    downvalue.text = "100,00"; 
}
void Update(){
    //downvalue.text = progressPercent.ToString();
    //sld.value = progressPercent;

}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...