C# 方法'没有重载;距离';接受1个参数
我试图对对手进行编码,使其在两点之间移动,并在被触碰时摧毁玩家C# 方法'没有重载;距离';接受1个参数,c#,unity3d,unityscript,C#,Unity3d,Unityscript,我试图对对手进行编码,使其在两点之间移动,并在被触碰时摧毁玩家 public class MovementBetweenPoints : MonoBehaviour { public Transform[] keyPoints; public float speed; private int currentKeyPoint; public float min_Distance; public float Distance; // Use this
public class MovementBetweenPoints : MonoBehaviour {
public Transform[] keyPoints;
public float speed;
private int currentKeyPoint;
public float min_Distance;
public float Distance;
// Use this for initialization
void Start ()
{
transform.position = keyPoints[0].position;
currentKeyPoint = 1;
}
// Update is called once per frame
void Update ()
{
// ----------- Error happens on next line
if (Vector3.Distance(transform.position - keyPoints[currentKeyPoint].position) <= min_Distance)
{
currentKeyPoint++;
}
if (currentKeyPoint >= keyPoints.Length)
{
currentKeyPoint = 0;
}
transform.position = Vector3.MoveTowards(transform.position, keyPoints[currentKeyPoint].position, speed * Time.deltaTime);
}
void OnTriggerEnter(Collider Player)
{
Destroy(Player.gameObject);
}
}
点之间的公共类移动:单行为{
公共重点;
公众浮标速度;
私钥;
公共浮动最小距离;
公众浮标距离;
//用于初始化
无效开始()
{
transform.position=关键点[0]。位置;
currentKeyPoint=1;
}
//每帧调用一次更新
无效更新()
{
//------------下一行发生错误
if(Vector3.Distance(transform.position-keyPoints[currentKeyPoint].position)=keyPoints.Length)
{
currentKeyPoint=0;
}
transform.position=Vector3.moveToward(transform.position,关键点[currentKeyPoint]。位置,速度*时间.deltaTime);
}
无效对撞机(对撞机播放器)
{
销毁(玩家。游戏对象);
}
}
方法“Distance”不重载1个参数。“
如何修复它?调用
Distance
返回两点之间的距离,但您编写的代码只给出一点。我想您有一个“-”where you want a“,”试试这个:
if (Vector3.Distance(transform.position, keyPoints[currentKeyPoint].position) <= min_Distance)
if(Vector3.Distance(transform.position,keyPoints[currentKeyPoint].position)错误消息的哪一部分让您感到困惑?如果没有这些信息,很难提供有用的帮助。在问题的当前状态下,它看起来与通过搜索错误消息找到的数千个类似的错误消息没有任何区别-(即,我用作副本)。如果这不能提供足够的解释-请确保编辑您的问题以澄清您不理解的内容(可能需要提出新的、更具体的问题)。就这样!非常感谢您的帮助!