我无法在代码中使用Vector 3。错误:严重性代码说明项目文件行隐藏状态错误CS 0104“Vector 3”是“System. Numerics. Vector 3”和“UnityEngine. Vector 3”程序集-CSharp C:\Users\BJ\Documents\New Unity Project(1)\Assets\move.cs 9 Active之间的不明确引用
uujelgoq1#
对于System.Numerics和UnityEngine,分别有一个using指令,这两个名称空间都包含一个Vector3,所以你必须确定你指的是哪一个。您可以像这样完全限定类型以解决歧义:
System.Numerics
UnityEngine
Vector3
UnityEngine.Vector3 move; // Probably this is what you meant, I'm guessing
或者...
System.Numerics.Vector3 move;
......取决于你想要哪一个。您还可以删除不需要的名称空间的using语句。例如,如果不希望System.Numerics使用using指令,则删除如下所示的行:
using
using System.Numerics;
这将迫使您完全限定System.Numerics中您可能在其他地方使用过的任何其他类型,但是您可以只说Vector3 move;,它将明确地解析为UnityEngine.Vector3。
Vector3 move;
UnityEngine.Vector3
3vpjnl9f2#
您可能使用了冲突的命名空间,请检查代码顶部的using指令,您没有提供完整的代码,因此我不确定,但是如果您在代码中同时使用UnityEngine和System命名空间,请使用完全限定的类型名
System
bpsygsoo3#
添加上面的using Vector3 = UnityEngine.Vector3;也可能是一个解决方案。enter image description here
using Vector3 = UnityEngine.Vector3;
3条答案
按热度按时间uujelgoq1#
对于
System.Numerics
和UnityEngine
,分别有一个using指令,这两个名称空间都包含一个Vector3
,所以你必须确定你指的是哪一个。您可以像这样完全限定类型以解决歧义:
或者...
......取决于你想要哪一个。
您还可以删除不需要的名称空间的
using
语句。例如,如果不希望System.Numerics
使用using
指令,则删除如下所示的行:这将迫使您完全限定
System.Numerics
中您可能在其他地方使用过的任何其他类型,但是您可以只说Vector3 move;
,它将明确地解析为UnityEngine.Vector3
。3vpjnl9f2#
您可能使用了冲突的命名空间,请检查代码顶部的
using
指令,您没有提供完整的代码,因此我不确定,但是如果您在代码中同时使用UnityEngine
和System
命名空间,请使用完全限定的类型名bpsygsoo3#
添加上面的
using Vector3 = UnityEngine.Vector3;
也可能是一个解决方案。enter image description here