Цель: создать простой экран загрузки, показывающий прогресс, используя компонент слайдера Unity.
Настройка сцены
Я создал две новые сцены: сцену загрузки и следующую загрузку в фоновом режиме. Затем у меня есть пустой объект, выступающий в роли менеджера, который будет иметь сценарий загрузки сцены.
У меня есть холст с фоновым изображением, заголовком и полосой загрузки в моей сцене загрузки.
Я настроил фоновое прямоугольное преобразование на все нули для полосы загрузки и изменил множитель пикселей на единицу до 5.
Затем для заливки я сделал то же самое, изменив преобразование записи на ноль, настроив множитель пикселей на единицу до 5 и изменив цвет на зеленый.
Наконец, для области ручки я отключил изображение ручки и прикрепил текстовый компонент к ручке, чтобы отображать процент полосы загрузки.
Загрузка сценария сцены
Этот сценарий прикреплен к объекту менеджера и будет связываться с холстом, чтобы отображать ход загрузки следующей сцены. Возьмите ползунок и текстовый объект, прикрепленный к ползунку.
using System.Collections; using TMPro; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; public class LoadingBar : MonoBehaviour { [SerializeField] private Slider _slider; [SerializeField] private TMP_Text _text; // Start is called before the first frame update void Start() { StartCoroutine("LoadLevel"); } IEnumerator LoadLevel() { AsyncOperation asyncLoad = SceneManager.LoadSceneAsync("NextScene"); while (!asyncLoad.isDone) { _slider.value = asyncLoad.progress; _text.text = asyncLoad.progress.ToString(); yield return null; } } }