基本上,在测试了几个关卡原型之后,我决定坚持我目前的游戏理念,所以我开始创建一个 GameManager 来控制关卡的流程等。我没有任何额外的库或资产包在外面使用默认值,但由于某种原因,我所有场景的 buildIndex 都是-1,我根据 API 了解到,这意味着它们应该通过 AssetBundle 加载。现在我无法使用 SceneManager 加载任何内容,而且我不确定如何继续前进。我确实暂时在项目中有 2d-extras-master 文件夹,因为我认为我会使用它,但在意识到我不需要它之后将其删除。有谁知道如何将我的场景的 buildIndices 重置为 Build Settings 中的值?非常感谢任何/所有帮助!
编辑:我还应该提到,我添加的最新场景(当我仍然有 2d-extras-manager 时)仍然保持正常的 buildIndex 为 0
编辑#2:所以我发现我可以在它们之间访问其他场景的 buildIndices。只有当我尝试从 MainMenu 场景访问 buildIndices 时,事情才不起作用
编辑#3:我找到了解决方法,但不一定能回答问题。我发现如果我知道 buildIndex 是什么,我可以强制 LoadScene 函数工作,但如果我通过场景名称搜索它,它将返回 -1。
前任。
// where 1 is the buildIndex of Scene "Main" in BuildSettings
// works
SceneManager.LoadScene(1);
// doesn't work
int index = SceneManager.GetSceneByName("Main").buildIndex; //returns -1
SceneManager.LoadScene(index);
// also doesn't work (Where current scene is buildIndex 0)
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);