我不断收到此错误 CS0029 有人可以帮助我吗?

0 c# unity-game-engine

该代码不适用于游戏对象

public class EnemyMovement : MonoBehaviour
{

    public int rotateSpeed = 1;
    public int movementSpeed = 1;

    private Transform myTransform;
    public Transform target;

    // Start is called before the first frame update
    void Start()
    {

        GameObject go = GameObject.FindGameObjectsWithTag("Player");
        target = go.transform;

        myTransform;

    }

    // Update is called once per frame
    void Update()
    {
        Rotate();
    }

    void Rotate ()
    {
        Debug.DrawLine(myTransform.position, target.position, Color.red);
    }
}
Run Code Online (Sandbox Code Playgroud)

错误在这里

GameObject go = GameObject.FindGameObjectsWithTag("Player");
target = go.transform;
Run Code Online (Sandbox Code Playgroud)

Mat*_*t U 5

GameObject.FindGameObjectsWithTag("Player")返回具有类型的对象数组GameObject:请参阅文档。由于您GameObject go的不是数组,而是单个GameObject,因此您会收到错误消息,指出编译器无法隐式转换GameObject[]GameObject.

如果您只需要一个对象,您可能正在寻找GameObject.FindWithTag,它的调用方式如下:

GameObject go = GameObject.FindWithTag("Player");
Run Code Online (Sandbox Code Playgroud)