C# 为什么Vector3在这里是非发票的?我可以做些什么?
在Unity中,我尝试更新y坐标,如下所示:C# 为什么Vector3在这里是非发票的?我可以做些什么?,c#,unity3d,C#,Unity3d,在Unity中,我尝试更新y坐标,如下所示: if (ballPos.position.y > aiPos.position.y) { transform.position += Vector3 (0.0f, 1.0f, 0f); } 我得到一个错误,Vector3是一种不可付费的方法。我该怎么做才能有效地改变位置 我想你需要一个构造函数调用: transform.position += new Vector3 (0.0f, 1.0f, 0f); 当然,
if (ballPos.position.y > aiPos.position.y)
{
transform.position += Vector3 (0.0f, 1.0f, 0f);
}
我得到一个错误,
Vector3
是一种不可付费的方法。我该怎么做才能有效地改变位置 我想你需要一个构造函数调用:
transform.position += new Vector3 (0.0f, 1.0f, 0f);
当然,因为[0,1,0]非常常见,所以它有一个名称:您也可以使用
transform.position += Vector3.up;
显示的代码在UnityScript中有效,因为它不需要new关键字。在C#中,您需要新的。可能的副本如果可能,请不要回答副本。Unity3D标记中存在大量杂乱内容。这个问题已经被问了100次了。@JoeBlow,这对于在Unity3D标签中非常活跃的人来说可能是显而易见的,但是我不容易发现重复的内容,如果重复的太多,其他人也不容易发现。我只是把它当作一个随机的C#问题。当然,我只是向任何愿意听的人提一提,难以置信的Unity3D杂乱在这里堆积;我认为这是值得记住的。下一步是answers.unity3d.com:/