我用Unity制作了一个3D世界,我希望在菜单中保存我的世界。我拯救了我的世界:
EditorApplication.SaveScene("Assets/Scene/name.unity",true);
我将新场景添加到我的构建设置中:
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...
当我查看构建设置时,会添加并检查我的新场景。 如果我重建游戏,我可以加载我的新场景,但是当我刚刚保存时,我不想重建游戏以加载新的等级。
如何在不关闭游戏的情况下刷新构建设置? 或者我如何更简单地保存我的新场景?
编辑:我发现了一个替代方案,我首先创建我的场景,我在构建设置中添加它,并在我使用相同名称保存时在游戏中将其擦除。
答案 0 :(得分:1)
在Application.LoadLevel("name");
之前添加此代码,将其添加到您的构建设置:
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;