NullReferenceException“未将对象引用设置为对象的实例”unity 2D

Isa*_*Nel 2 c# unity-game-engine

NullReferenceException在这条线上得到了:

animator.transform.position = Vector2.MoveTowards(animator.transform.position, patrolPoints[randomPoint].transform.position, speed * Time.deltaTime);
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

这是我的代码:

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

public class PatrolBehaviour : StateMachineBehaviour
{
    private GameObject[] patrolPoints;

    public float speed;

    int randomPoint;

    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        patrolPoints = GameObject.FindGameObjectsWithTag("patrolPoints");
        randomPoint = Random.Range(0, patrolPoints.Length);
    }

    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
       animator.transform.position = Vector2.MoveTowards(animator.transform.position, patrolPoints[randomPoint].transform.position, speed * Time.deltaTime);

        if (Vector2.Distance(animator.transform.position, patrolPoints[randomPoint].transform.position) < 0.1f)
        {
            randomPoint = Random.Range(0, patrolPoints.Length);
        }
    }

    override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {

    }

}
Run Code Online (Sandbox Code Playgroud)

Jah*_*han 5

那么错误“对象引用未设置到对象的实例”意味着您正在尝试访问当前为空的内容。要首先尝试解决此问题,请确保所有变量都已设置值并且不为空。