首页 > 解决方案 > Unity Android Build - 更改场景出错

问题描述

我面临一个相当奇怪的问题,我正在使用 unity 2017.3.1f1 Personal。

当我构建 APK 并将该文件复制到手机并从手机的文件管理器中安装它时,我无法从主菜单切换到第一个场景,游戏在加载场景时崩溃或只是在选择后冻结,我想这是由于异步代码,所以我尝试不使用它并且根本没有结果。

当我选择构建并运行时,这根本不会发生并且应用程序运行正常,我在这里缺少什么或者我该如何解决这个问题?已经多次重启了unity和电脑。

这是我用来在场景之间切换的代码,包括没有异步模式的代码:

 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;
 }

Car 1 和 Car 2 有一个直接模式,没有使用协程来改变场景,它们都不起作用,代码根本没有错误,或者至少控制台没有报告任何内容,我也尝试了不同的构建设置和压缩,也有或没有开发构建来检查分析器,什么都没有,谢谢大家:)

标签: androidunity3dbuildapkscene-manager

解决方案


我运行了 ADB 调试器,但什么也没找到,应用程序只显示一个空白行,然后就死机了,我什至在我的项目上放了 Lunar 控制台,看到统一没有显示的错误很有帮助,但没有多大帮助任何一个。

在此处输入图像描述

我找到的解决方案是在这个视频中https://www.youtube.com/watch?v=OxLa2uPW0dI 我遵循了他使用的“播放器设置 - >其他设置”的确切设置,显然它至少现在解决了这个问题,但是无法指出导致此行为的设置


推荐阅读