В моей игре, нажав мою кнопку "ВОСПРОИЗВЕДЕНИЕ" , вторая сцена загрузит , и, поскольку это может занять несколько секунд, я решил вставить ползунок который показывает ход операции загрузки .Это мой код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class MainMenu : MonoBehaviour
{
public GameObject loadingScreen;
public Slider slider;
public GameObject mainMenu;
public Text progressText;
public void LoadLevel(int sceneIndex) {
StartCoroutine(LoadAsynchronously(sceneIndex));
}
IEnumerator LoadAsynchronously(int sceneIndex) {
AsyncOperation operation = SceneManager.LoadSceneAsync(sceneIndex);
loadingScreen.SetActive(true);
mainMenu.SetActive(false);
while (!operation.isDone) {
float progress = Mathf.Clamp01(operation.progress / 0.9f);
slider.value = progress;
progressText.text = (int)(progress * 100f) + "%";
yield return null;
}
}
public void QuitGame() {
Application.Quit();
}
}
Я не вижу здесь никаких проблем, но когда я играю на мобильном телефоне Android, он не работает так, как я хотел. Сначала он ждет около полсекунды после нажатия кнопки «ВОСПРОИЗВЕДЕНИЕ», затем показывает 3% прогресса, затем ждет еще полсекунды без обновления, а затем непосредственно открывает следующую сцену .Запуск его на моем ПК (который намного быстрее), по крайней мере, показывает непосредственно 100% прогресс , потому что для загрузки требуется всего несколько кадров.
Просто если вам нужно знать, какГлавное меню настройки, оно показано ниже.
![](https://i.stack.imgur.com/NZTzC.png)
Любая информация или ответ действительно приветствуются, если кто-нибудь знает, что может вызвать это, иесли есть способ заставить его работать!