NullReferenceException 'Object reference not set to an instance of an object' unity 2D



我在这行得到一个NullReferenceException

animator.transform.position = Vector2.MoveTowards(animator.transform.position, patrolPoints[randomPoint].transform.position, speed * Time.deltaTime);

我该怎么解决这个问题?

这是我的代码:

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)
{
}
}

好的错误"对象引用未设置为对象的实例";表示您正在尝试访问当前为空的内容。要尝试解决此问题,请首先确保所有变量都有设置值,并且不为null。

相关内容

最新更新