Я столкнулся с довольно странной проблемой, я использую Unity 2017.3.1f1 Personal.
Когда я собираю APK и копирую этот файл в телефон и устанавливаю его из файлового менеджера телефона,Я не могу переключиться из главного меню в первую сцену, игра вылетает на загрузочной сцене или просто зависает после выбора, думал, что это из-за кода Async, поэтому я попытался без него и не получил никакого результата.
Когда я выбираю Build and Run, это вообще не происходит, и приложение работает нормально, что мне здесь не хватает или как я могу это исправить?Уже много раз перезагружал единство и компьютер.
Вот код, который я использую для переключения между сценами, включая код без асинхронного режима:
public void Car1()
{
selectedCar = 0;
canvasManagerGO.GetComponent<CanvasManager>().Close();
SceneManager.LoadScene("W" + selectedWorld + "-L1", LoadSceneMode.Single);
}
public void Car2()
{
selectedCar = 1;
canvasManagerGO.GetComponent<CanvasManager>().Close();
SceneManager.LoadScene(1, LoadSceneMode.Single);
}
public void Car3()
{
selectedCar = 2;
canvasManagerGO.GetComponent<CanvasManager>().Close();
StartCoroutine(ChangeScene("W" + selectedWorld + "-L1"));
public IEnumerator ChangeScene(string sceneName)
{
loadingCanvas.SetActive(true);
AsyncOperation asyncOperation = SceneManager.LoadSceneAsync(sceneName, LoadSceneMode.Single);
while (!asyncOperation.isDone)
{
float progress = Mathf.Clamp01(asyncOperation.progress / .9f);
//Debug.Log(asyncOperation.progress);
slider.value = progress;
yield return null;
}
yield return null;
}
Автомобиль 1 и 2 имеют автомобильв прямом режиме без использования сопрограммы для изменения сцены, и ни одна из них не работает, в коде вообще нет ошибок, или, по крайней мере, консоль ничего не сообщает, я также пробовал с различными настройками сборки и сжатием, также с разработкой сборки или без нее, чтобыпроверь профилировщик и ничего, спасибо всем :)