Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 方法“Normalize”没有“重载”接受1个参数错误代码:CS1501_C#_Visual Studio_Unity3d - Fatal编程技术网

C# 方法“Normalize”没有“重载”接受1个参数错误代码:CS1501

C# 方法“Normalize”没有“重载”接受1个参数错误代码:CS1501,c#,visual-studio,unity3d,C#,Visual Studio,Unity3d,我目前正在制作一个2D台球的克隆;一般来说,我对编码是相当陌生的,但是我已经使用过规范化方法好几次了,从来没有遇到过这个问题。我已经删除了System.Numerics,因为它导致“Vector2”出现问题 可变射程是一个未指定值的浮点 Vector2 dimxy = mousePointA.transform.position - transform.position; float difference = dimxy.magnitude; mousePointB.tra

我目前正在制作一个2D台球的克隆;一般来说,我对编码是相当陌生的,但是我已经使用过规范化方法好几次了,从来没有遇到过这个问题。我已经删除了System.Numerics,因为它导致“Vector2”出现问题

可变射程是一个未指定值的浮点

  Vector2 dimxy = mousePointA.transform.position - transform.position;
    float difference = dimxy.magnitude;

    mousePointB.transform.position = (Vector2)transform.position + ((dimxy / difference) * currDistance * -1);
    mousePointB.transform.position = new UnityEngine.Vector2(mousePointB.transform.position.x, mousePointB.transform.position.y);

    shootDirection = Vector2.Normalize(mousePointA.transform.position - transform.position);
Normalize接受Vector3或Vector2,但返回一个Vector3,因此您将返回值强制转换为Vector2,您必须写入:positionB和positionA是Vector3或Vector2

shootDirection = (Vector2)Vector3.Normalize(positionB - positionA);
z=0时,将矢量2转换为矢量3是隐式的

但是Vector3到Vector2不是隐式的,所以这是您必须指定强制转换的原因,在这种情况下,您会丢失z值