c# - NullReferenceException '对象引用未设置为对象的实例' 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)
{
}
}
解决方案
那么错误“对象引用未设置为对象的实例”意味着您正在尝试访问当前为空的内容。要尝试解决此问题,请首先确保所有变量都已设置值且不为空。
推荐阅读
- python - 在熊猫中使用文本作为列标题和列值将字符串拆分为列
- python - Visual Studio Code Terminal 继续在 Powershell 中运行 Python 脚本
- sql - 随机分配值,但在分组内的分布范围内
- jenkins - 如何删除空的詹金斯工作?
- django - 如何在 axios 中为不同的主机使用 Django 的 CSRF 保护?
- python - 为没有 ast 模块的逻辑/布尔评估编写自定义 python 函数?
- c# - 过滤包含 (%like%) 列表中任何项目的 IQueryable
- php - 如果sql数据库中已经存在一个值,则创建新值直到出现唯一值
- javascript - 如何将类道具传递给reactjs中的功能
- java - 为什么没有显示实际的 Switch 图像/动画?