如何在Unity3D中将一个对象移向另一个对象?

时间:2018-12-18 19:35:00

标签: c# unity3d

我有一个立方体,希望一直朝着玩家前进。在几个小时的过程中,我尝试了几种解决方案,但没有一个起作用。我当前的脚本如下所示。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class fol : MonoBehaviour {

    // Use this for initialization
    void Start () {

    }

    public GameObject Player;
    // Update is called once per frame
    void Update ()
    {
        Vector3.MoveTowards(Player.transform.position.x, Player.transform.position.y, Player.transform.position.z, 1);
    }
}

此脚本是我要移向播放器的对象的子级。

什么都没有编译。此脚本的唯一错误是:

  

资产/fol.cs(16,11):错误CS1501:方法MoveTowards没有重载需要4个参数

所以,一旦我删除了1,它最终就会变成:

  

Assets / fol.cs(16,11):错误CS1502:UnityEngine.Vector3.MoveTowards(UnityEngine.Vector3,UnityEngine.Vector3,float)'的最佳重载方法匹配有一些无效参数

  

资产/fol.cs(16,49):错误CS1503:参数1无法将浮点表达式转换为UnityEngine.Vector3类型

1 个答案:

答案 0 :(得分:0)

MoveTowards中,给定的第一个位置应该是您需要移动的对象的位置,然后第二个应该是目标的位置,第三个参数是移动增量。正如@Ruzihm所建议的,这是Moving an object with Vector3的副本,您将在此处找到解决此问题的重要信息。还要检查unity API