gpt4 book ai didi

unity3d - SceneManager 没有按名称获取场景

转载 作者:行者123 更新时间:2023-12-04 14:29:17 26 4
gpt4 key购买 nike

我的 Unity 项目中有 3 个场景,并试图通过其名称获取场景索引。我正在尝试使用 SceneManager但我不知道如何使用 SceneManager.GetSceneByName .使用

SceneManager.GetSceneByName("Scene1");

返回 null虽然我可以使用加载场景
SceneManager.LoadScene("Scene1",LoadSceneMode.Single);

还有 SceneManager.sceneCount返回 1虽然我有 3 个场景。

Unity 文档 GetSceneByName说:

Searches through the scenes added to the SceneManager for a scene with the given name.

The name has to be without the .unity extension. The name can be the last part of the name as displayed in the BuildSettings window in which case the first scene that matches will be returned. The name could also the be path as displayed in the Build Settings, still without the extension, in which case only the exact match will be returned. This is case insensitive.



这是否意味着我应该将所有场景添加到 SceneManager第一的?

我怎样才能做到这一点?

如果是这样,那为什么 SceneManager.LoadScene()使用场景名称而不将其添加到 SceneManager ?

注:我已经将所有 3 个场景添加到 Build 设置中。

最佳答案

方法SceneManager.GetSceneByName()在已加载的场景列表中搜索场景。
就 SceneManager.sceneCount 而言,它的统一文档明确指出它返回:

number of currently loaded scenes



为了找出build设置中的场景数量,有一个单独的变量 SceneManager.sceneCountInBuildSettings .

如果您使用 SceneManager.GetSceneByName() , 以加法模式加载场景后,返回一个有效场景。

关于unity3d - SceneManager 没有按名称获取场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38801657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com