Задать вопрос
Zefirot
@Zefirot

Как правильно сделать экран загрузки?

Суть - сделать экран загрузки между сценами, посреди картинка крутится и снизу надпись сколько процентов прогресс.
Сделал по примеру найденному в поиске, скрипт находится в префабе, префаб деактивирован в иерархии.
public class PrefabLoadScene : MonoBehaviour{
    private int SceneId;
    [HideInInspector] public TextMeshProUGUI TextLoad;
    [HideInInspector] public Image ImageLoad;
    private float RotationImageLoad = 0f;
    public void StartScene(int i){ SceneId = i; StartCoroutine(LoadingFunction()); }
    IEnumerator LoadingFunction(){
        AsyncOperation Operation = SceneManager.LoadSceneAsync(SceneId);
        while(!Operation.isDone){
            RotationImageLoad += (Time.deltaTime * 100f);
            float Progress = Operation.progress;
            TextLoad.text = "Загрузка - " + (Progress * 100).ToString("0") + "%";
            ImageLoad.transform.rotation = Quaternion.Euler(0, 0, RotationImageLoad);
            ImageLoad.fillAmount = Progress;
            yield return null;
            }
        }
    }

когда нужна другая сцена
prefabLoadScene.gameObject.SetActive(true);
prefabLoadScene.StartScene(1);

в итоге экран загрузки включается, но индикатор всегда показывает 90% загрузки и картинка не крутится, причём экран загрузки может стоять мгновение, а может и секунды 2-3, а итог тот же 90%...

Как сделать его правильно?
  • Вопрос задан
  • 757 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы