没有null值时发生NullReferenceException

问题描述

我正在尝试通过制作简单的答题器游戏来学习Unity。我做了一个答题器,以增加您的点击次数效果很好,并尝试进行一次无效的点击功率升级

我还是C Sharp的新手,所以我将所有变量存储在另一个名为Variables.cs的脚本中:

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

public class Variables : MonoBehavIoUr
{
    public int Clicks;
    public int ClickPower;
    public int ClickPowerUpgradeCost;
}

这是UpgradeClickPower.cs中的代码

using System.Collections.Generic;
using UnityEngine;

public class UpgradeClickPower : MonoBehavIoUr
{
    public Variables vars;
    
    public void Upgrade()
    {
        vars.ClickPower += 1;
        vars.Clicks -= vars.ClickPowerUpgradeCost;
    }
}

这是我每次尝试使用升级按钮时收到的错误消息:

NullReferenceException: Object reference not set to an instance of an object

我知道这意味着我要使用的东西正在返回空值,但我不知道它可能是什么,因为variables.cs中的所有内容都有一个值。

我对此也很陌生,因此,如果您对我的编码/理解欠佳有什么话要说,请随时告诉我我做错了/效率不高。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)