C# 我能';t将游戏对象的位置输入vector3变量
如你所见,我试图创建一个vector3变量来存储游戏对象的位置,我得到了以下错误: 字段初始值设定项不能引用非静态字段、方法或 财产 我曾尝试将gameobject转换为静态变量,但在Unity内部出现了另一个错误: NullReferenceException:对象引用未设置为 反对 我怎样才能解决这个问题C# 我能';t将游戏对象的位置输入vector3变量,c#,unity3d,C#,Unity3d,如你所见,我试图创建一个vector3变量来存储游戏对象的位置,我得到了以下错误: 字段初始值设定项不能引用非静态字段、方法或 财产 我曾尝试将gameobject转换为静态变量,但在Unity内部出现了另一个错误: NullReferenceException:对象引用未设置为 反对 我怎样才能解决这个问题 public GameObject playerobject; private Vector3 playerposition = playerobject.transform.posit
public GameObject playerobject;
private Vector3 playerposition = playerobject.transform.position;
您必须在函数中初始化
playerposition
,而不是在声明位置。启动
或唤醒
功能可以实现这一点。如果需要每帧更新playerposition
变量,请在update
功能中执行此操作。原因是,用于初始化函数外部另一个变量的变量必须是静态
或常量
变量
我确信您不希望playerobject
是static
或const
,因为您希望在编辑器中分配它,所以在函数中执行它是正确的方法
public GameObject playerobject;
private Vector3 playerposition;
void Awake()
{
playerposition = playerobject.transform.position;
}
之后,确保将对象应用到编辑器中的
playerobject
插槽 非常感谢你!