Ale*_*lig 4 unity-game-engine scene scene-manager
我的 Unity 项目中有 3 个场景,并试图通过其名称获取场景索引。我正在尝试使用SceneManager
,但我不知道如何使用SceneManager.GetSceneByName
。使用
SceneManager.GetSceneByName("Scene1");
Run Code Online (Sandbox Code Playgroud)
返回null
,同时我可以使用加载场景
SceneManager.LoadScene("Scene1",LoadSceneMode.Single);
Run Code Online (Sandbox Code Playgroud)
当我有 3 个场景时, SceneManager.sceneCount也会返回1
。
Unity 文档GetSceneByName
说:
在添加到 SceneManager 的场景中搜索具有给定名称的场景。
该名称必须不带 .unity 扩展名。该名称可以是 BuildSettings 窗口中显示的名称的最后一部分,在这种情况下,将返回第一个匹配的场景。该名称也可以是构建设置中显示的路径,但仍然没有扩展名,在这种情况下,只会返回完全匹配的内容。这是不区分大小写的。
这是否意味着我应该将所有场景添加到SceneManager
第一个场景?
我怎样才能做到这一点?
如果是这样,那么为什么SceneManager.LoadScene()
要使用场景名称而不将其添加到 中SceneManager
?
注意:我已经将所有 3 个场景添加到“构建”设置中。
该方法SceneManager.GetSceneByName()
在已加载的场景列表中搜索场景。就 SceneManager.sceneCount 而言,它的统一文档明确指出它返回:
当前加载的场景数
为了找出构建设置中的场景数量,有一个单独的变量SceneManager.sceneCountInBuildSettings
。
SceneManager.GetSceneByName()
如果在附加模式下加载场景后使用, 则会返回有效场景。
归档时间: |
|
查看次数: |
8149 次 |
最近记录: |