基本上,经过测试几个级别的原型后,我决定坚持我的当前游戏想法,所以我开始创建一个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。
例如:
编辑:我还应该提到,我添加的最新场景(当我仍然拥有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);