C# Unity 命名空间“<全局命名空间>”已包含以下定义

ToD*_*AnO 5 c# unity-game-engine

我正在研究访问修饰符,在我的代码中遇到以下错误。有人可以向我解释并帮助我解决它吗? \nAssets\\Testes\\Scripts\\modificadoracesso.cs(40,7): 错误 CS0101: 命名空间 '< 全局命名空间 >' 已包含 'Felino' 的定义

\n
using System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n\npublic class modificadoracesso : MonoBehaviour\n{\n\n    Felino gatoFase1; // criar objeto\n    Felino gatoFase2;\n    Filha fi;\n\n    // Start is called before the first frame update\n    void Start()\n    {\n        gatoFase1 = new Felino (); //objeto\n        gatoFase2 = new Felino ();\n        fi = new Filha();\n\n        //gatoFase1.nome = "mark";\n        gatoFase1.ataque();\n        gatoFase1.corPelo = "Preto";\n        gatoFase1.forca = 100;\n\n        //gatoFase2.nome = "Zuck";\n        gatoFase2.corPelo = "Marrom";\n        gatoFase2.ataque();\n\n        fi.acessa();\n\n    }\n\n    // Update is called once per frame\n    void Update()\n    {\n        \n    }\n}\n\nclass Felino : MonoBehaviour\n{\n\n    //Caracter\xc3\xadsticas = atributos\n    //protected trabalha dentro a classe ou dentro de uma classe filha\n    protected string nome;\n    public string corPelo;\n    public int forca;\n\n    //A\xc3\xa7\xc3\xb5es = m\xc3\xa9todos\n    public void ataque()\n    {\n        print("Ataquei");\n    }\n\n}\n\nclass Filha : Felino\n{\n    public void acessa()\n    {\n        nome = "Gato";\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我已经寻找了一些答案,但到目前为止没有任何效果

\n

Emm*_*ero 5

当您将脚本拖放到另一个文件夹,而文本编辑器仍打开该脚本时,通常会发生这种情况。当您在文本编辑器中保存文件时,会在旧位置重新创建该文件,因此您有一个与移动的脚本相同的脚本。


Nei*_*eil 2

除非类位于命名空间中,否则该类位于“全局命名空间”中。在类周围添加命名空间。我并不是说这是完整的答案,但不使用名称空间是一个坏主意。命名空间通常以解决方案的名称开头,并在您创建新类时自动放置在那里。

\n

尝试这个:

\n
using System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n\nnamespace ToDyToScAnO // <-- This is a namespace\n{\n  public class modificadoracesso : MonoBehaviour\n  {\n\n    Felino gatoFase1; // criar objeto\n    Felino gatoFase2;\n    Filha fi;\n\n    // Start is called before the first frame update\n    void Start()\n    {\n        gatoFase1 = new Felino (); //objeto\n        gatoFase2 = new Felino ();\n        fi = new Filha();\n\n        //gatoFase1.nome = "mark";\n        gatoFase1.ataque();\n        gatoFase1.corPelo = "Preto";\n        gatoFase1.forca = 100;\n\n        //gatoFase2.nome = "Zuck";\n        gatoFase2.corPelo = "Marrom";\n        gatoFase2.ataque();\n\n        fi.acessa();\n\n    }\n\n    // Update is called once per frame\n    void Update()\n    {\n        \n    }\n}\n\nclass Felino : MonoBehaviour\n{\n\n    //Caracter\xc3\xadsticas = atributos\n    //protected trabalha dentro a classe ou dentro de uma classe filha\n    protected string nome;\n    public string corPelo;\n    public int forca;\n\n    //A\xc3\xa7\xc3\xb5es = m\xc3\xa9todos\n    public void ataque()\n    {\n        print("Ataquei");\n    }\n\n}\n\n class Filha : Felino\n {\n    public void acessa()\n    {\n        nome = "Gato";\n    }\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n