C# Unity找不到其他游戏对象的脚本
从另一个游戏对象的脚本中获取变量时遇到问题。。我以前使用过这种类型的引用,我知道它是如何工作的,但出于某种原因,它说它找不到我引用的脚本 引用其他代码的代码(CanHearPlayer()开头的if语句): 错误读取:Assets/EnemySight.cs(53,41):错误CS0246:找不到类型或命名空间名称“FirstPersonController”。是否缺少using指令或程序集引用? And:Assets/EnemySight.cs(59,41):错误CS0246:找不到类型或命名空间名称“FirstPersonController”。是否缺少using指令或程序集引用 这些行对应于CanHearPlayer中的前两个if语句 我做错了什么?我在Google和StackOverflow上搜索过,但我找不到问题所在C# Unity找不到其他游戏对象的脚本,c#,unity3d,C#,Unity3d,从另一个游戏对象的脚本中获取变量时遇到问题。。我以前使用过这种类型的引用,我知道它是如何工作的,但出于某种原因,它说它找不到我引用的脚本 引用其他代码的代码(CanHearPlayer()开头的if语句): 错误读取:Assets/EnemySight.cs(53,41):错误CS0246:找不到类型或命名空间名称“FirstPersonController”。是否缺少using指令或程序集引用? And:Assets/EnemySight.cs(59,41):错误CS0246:找不到类型或命名
谢谢 如果您的FirstPersonController类上有一些名称空间声明,您需要在EnemySight代码上声明使用。就像:
namespace MyNamespace.Blah {
public class FirstPersonController : MonoBehaviour {
...
}
}
而且
using MyNamespace.Blah;
public class EnemySight : MonoBehaviour {
...
}
对于monodevelop,您可以在声明不在使用范围内的类时使用alt+spacebar,它会将using放在类的顶部。奇怪的是,当EnemySight.cs中没有那么多行时,它会在第53行和第59行报告错误。您确定粘贴的文件正确吗?FirstPersonController在它自己的文件中-应该是。感谢您的回复!敌人之光也被缩短了一点,我没有提到这一点。但正如我所说,这些错误是指CanHearPlayer中的if语句。当你说shorted时,你是否在两个文件中都省略了名称空间指令?我不知道。。我将在FirstPersonController.cs的第一个帖子中包含完整的代码,其中有任何名称空间吗?它是否也在/Assets文件夹中?
namespace MyNamespace.Blah {
public class FirstPersonController : MonoBehaviour {
...
}
}
using MyNamespace.Blah;
public class EnemySight : MonoBehaviour {
...
}