c# - 是什么导致了这个 NullReferenceException?- 统一 C#
问题描述
我有一个PlayerController
附加到刚体游戏对象的脚本。此脚本包含布尔值,当设置为 true 时,会将脚本附加到游戏对象。
例如,如果canMove
布尔值设置为 true,它将向玩家附加一个脚本,允许游戏对象通过用户输入移动。
我有很多布尔值,但一个值是canWallClimb
. 当我将此设置为 true 时,它会将 WallClimb 脚本附加到播放器底部的薄立方体上。当立方体接触到带有“CanClimb”标签的对象时,它应该执行以下代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WallClimb : MonoBehaviour
{
PlayerController player;
private void Start()
{
player = GetComponent<PlayerController>();
}
private void OnTriggerEnter(Collider other)
{
Debug.Log(other.gameObject.name);
if (other.gameObject.tag == "CanClimb")
{
player.gameObject.transform.position += new Vector3(0, 5, 0);
}
}
private void OnTriggerExit(Collider other)
{
}
}
玩家的位置应该在 y 轴上移动 5 个单位。但我得到的是这个错误:
NullReferenceException: Object reference not set to an instance of an object WallClimb.OnTriggerEnter (UnityEngine.Collider other) (at Assets/Player/WallClimb.cs:24)
我该如何解决?
谢谢。
解决方案
推荐阅读
- wildfly - 如何在 Wildfly 集群中自己选择的节点中部署 .war?
- ruby - 如何从 ruby 上的 CSV 文件中读取特定的单元格值并输出结果?
- regex - pcregrep 如何强制返回正则表达式的第一个匹配项
- sql - 访问另一台计算机的 SQL 数据库
- aws-cli - 使用 putty 在 aws 中将 .pem 文件转换为 .ppk 文件
- javascript - 如何访问 JavaScript 函数中生成的访问值?
- javascript - 有没有办法替换 JSON 中的所有负值?
- vue.js - 是否可以使用 nuxt js 生成正确的缩进代码
- c - CS50 问题集 4 - 过滤器(边缘)中的逻辑缺陷?
- node.js - 是否可以使用 Playwright 将 webkit 浏览器带到前台?