gpt4 book ai didi

c# - 如何加载您在当前场景中创建的新场景?

转载 作者:太空宇宙 更新时间:2023-11-03 13:06:00 25 4
gpt4 key购买 nike

我用 Unity 制作了一个 3D 世界,我想在菜单中保存我的世界。我用以下方法拯救我的世界:

EditorApplication.SaveScene("Assets/Scene/name.unity",true);

然后我将我的新场景添加到我的build设置中:

var original = EditorBuildSettings.scenes;
var newSettings = new EditorBuildSettingsScene[original.Length + 1];
System.Array.Copy(original, newSettings, original.Length);
var sceneToAdd = new EditorBuildSettingsScene("Assets/Scene/name.unity", true);
newSettings[newSettings.Length - 1] = sceneToAdd;
EditorBuildSettings.scenes = newSettings;

当我在不关闭游戏的情况下加载我的新场景时:

Application.LoadLevel("name");

我有这个错误:

Level 'name' (-1) couldn't be loaded because it has not been added to the build settings.
To add a level to the build settings use the menu File->Build Settings...

当我查看build设置时,会添加并检查我的新场景。如果我重建游戏,我可以加载我的新场景,但我不想重建游戏以在我刚刚保存时加载新关卡。

如何在不关闭游戏的情况下刷新build设置?或者如何更简单地保存我的新场景?

编辑:我找到了一个替代方案,我先创建我的场景,我将它添加到build设置中,然后在我以相同名称保存时在游戏中删除它。

最佳答案

Application.LoadLevel("name"); 之前添加此代码以将其添加到您的build设置中:

 var original = EditorBuildSettings.scenes;
var newSettings = new EditorBuildSettingsScene[original.Length + 1];
System.Array.Copy(original, newSettings, original.Length);
var sceneToAdd = new EditorBuildSettingsScene("Assets/Path/To/Scene/name.unity", false);
newSettings[newSettings.Length - 1] = sceneToAdd;
EditorBuildSettings.scenes = newSettings;

关于c# - 如何加载您在当前场景中创建的新场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30786941/

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