我在此行遇到了意外的符号问题
Math.ClosestPointsOnTwoLines(
Vector3 close1,
Vector3 close2,
Vector3 raypair[0].origin,
Vector3 raypair[0].direction,
Vector3 raypair[1].origin,
Vector3 raypair[1].direction
);
说
意外符号
close1
,需要一双新鲜的眼睛才能发现哪里出了问题。我检查了错别字,冒号和方括号。似乎没什么问题。
public class objectCoordinates : MonoBehaviour
{
Camera cam;
private Ray[] raypair;
private int cnt = 0;
private Vector3 close1;
private Vector3 close2;
void Start()
{
cam = GetComponent<Camera>();
}
void Update()
{
raypair[cnt] = Camera.main.ScreenPointToRay(Input.mousePosition);
cnt++;
if (cnt == 3)
Math.ClosestPointsOnTwoLines(
Vector3 close1,
Vector3 close2,
Vector3 raypair[0].origin,
Vector3 raypair[0].direction,
Vector3 raypair[1].origin,
Vector3 raypair[1].direction
);
}
}
答案 0 :(得分:1)
当您调用带有参数的方法时,您不会在那里输入类型名称
请参阅Passing Parameters (C# Programming Guide)
只需从该行中删除所有Vector3
并仅使用变量名调用该方法:
Math.ClosestPointsOnTwoLines(close1, close2, raypair[0].origin, raypair[0].direction, raypair[1].origin, raypair[1].direction);
答案 1 :(得分:0)
传递参数时,您不需要类型名称。那就是我删除的(Vector3)。
Math.ClosestPointsOnTwoLines(close1, close2, raypair[0].origin, raypair[0].direction,
raypair[1].origin, raypair[1].direction);
}