"error CS0116: A namespace cannot directly contain members such as fields or methods" 在 Unity 中

"error CS0116: A namespace cannot directly contain members such as fields or methods" in Unity

我正在统一开发一款游戏,并在脚本中控制游戏模式菜单中的按钮。 写入时出现此错误: 错误 CS0116:命名空间不能直接包含字段或方法等成员,我不知道出了什么问题。 代码如下:

using System.Collections.Generic;
using UnityEngine;

public class SecondaryMenuControl : MonoBehaviour
{

public bool isSurvival;  
public bool isSelectLevel;
public bool isGoBack;


} 

 // Start is called before the first frame update
    void Start()
    {

void OnMouseUp(){
    if(isSurvival)
    {
        SceneManager.LoadScene(MainScene);
    }

    if (isSurvival)
    {
        SceneManager.LoadScene(SelectLevelMenu);
    }

    if (isGoBack)
    {
        SceneManager.LoadScene(IntroMenu);  
    }

    }

    // Update is called once per frame
    void Update()
    {

    }
}

我希望有人能帮助我。

此致, 基诺

删除杂散括号;

public class SecondaryMenuControl : MonoBehaviour
{

public bool isSurvival;  
public bool isSelectLevel;
public bool isGoBack;


} // remove this one!

// rest of the file

错误基本上是说 'You defined some properties/fields/methods in a namespace' 你当然不能这样做。它们都属于 class。

编辑:这应该是您的输出:

public class SecondaryMenuControl : MonoBehaviour
{

public bool isSurvival;  
public bool isSelectLevel;
public bool isGoBack;

private void OnMouseUp(){
    if(isSurvival)
    {
        SceneManager.LoadScene(MainScene);
    }

    if (isSurvival)
    {
        SceneManager.LoadScene(SelectLevelMenu);
    }

    if (isGoBack)
    {
        SceneManager.LoadScene(IntroMenu);  
    }

} // end of OnMouseUp
} // end of class

确保左括号与右括号匹配。