代码如下
```c#
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class enemy : MonoBehaviour
{
[SerializeField] private float moveSpeed;
private Transform target;
[SerializeField] private float maxHp;
public float hp;
private void Start()
{
hp = maxHp;
target = GameObject.FindGameObjectWithTag("player").GetComponent<Transform>();
}
// Update is called once per frame
private void Update()
{
Followplayer();
}
private void Followplayer()
{
transform.position = Vector2.MoveTowards(transform.position, target.position,moveSpeed*Time .deltaTime );
}
}
报错如下
NullReferenceException: Object reference not set to an instance of an object
enemy.Followplayer () (at Assets/【scripts】/move and attack/enemy.cs:25)
enemy.Update () (at Assets/【scripts】/move and attack/enemy.cs:20)
第一,确认你场景中有tag为player的物体,
第二, target = GameObject.FindGameObjectWithTag("player").GetComponent();用 target = GameObject.FindGameObjectWithTag("player")transform;更好些