好的,我正在做一个有主菜单和 10 个级别的小项目。有时我会编辑不同的关卡,并想尝试一下,但是我得到了一个 NullPointerException
,因为我的关卡依赖于主菜单中的某些变量才能使关卡正常工作,这意味着我必须改变我的关卡,然后加载我的主菜单并从那里开始游戏。
是否可以在 Unity 编辑器中执行某些操作,以便在您点击“播放”时默认加载特定场景,而不是您所在的场景?
我显然可以将其解决为类似
public bool goToMenu; //set this to true in my levels through inspector
Start()
{
if (goToMenu)
//then load main menu
}
但如果有一种方法可以设置在点击播放模式时加载默认级别,那将非常方便。我查看了首选项,但找不到任何内容。
谢谢!
最佳答案
我制作了这个简单的脚本,当您按下“播放”时,它会在build设置中加载索引 0 处的场景。我希望有人觉得它有用。
它检测何时按下播放按钮并加载场景。然后,一切恢复正常。
哦!并且它会在打开 Unity 和编译脚本后自动执行,所以不用担心执行它。只需将它放在 Editor 文件夹中即可。
#if UNITY_EDITOR
using UnityEditor;
using UnityEditor.SceneManagement;
[InitializeOnLoadAttribute]
public static class DefaultSceneLoader
{
static DefaultSceneLoader(){
EditorApplication.playModeStateChanged += LoadDefaultScene;
}
static void LoadDefaultScene(PlayModeStateChange state){
if (state == PlayModeStateChange.ExitingEditMode) {
EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo ();
}
if (state == PlayModeStateChange.EnteredPlayMode) {
EditorSceneManager.LoadScene (0);
}
}
}
#endif
关于c# - Unity3d - 在播放模式下加载特定场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35586103/