空引用烦人的异常

Null Reference annoying exception

(问题在 GitHub Here 上打开)

我正在为 Unity 中的格斗游戏构建一个健康栏,由于某种原因,健康栏文本没有出现,它给我的只是一个空引用错误,但我已经检查过它引用的所有内容都是不是 'null'.

文字代码在这里:

function Update () {
    canvasText.text = brawlers[0].currentHealth + "/" + brawlers[0].myClass.health; 
    canvasText2.text = brawlers[1].currentHealth + "/" + brawlers[1].myClass.health; 
}

Brawlers 数组引用了两个 classes,每个都是这样的:

#pragma strict

var className : String;
var health : int;
var Attack : int;
var Defense : int;
var Speed : int; 

我创建了一个仅附加 class 的预制件,并将生命值设为 120。此预制件附加到游戏中的战士,即 brawlers 数组,因为 'myClass' 变量。 CurrentHealth 是在 Brawler class.

中初始化的变量

我已经尝试了多种类型来跟踪项目中可能为 null 的部分,但我没有发现任何可能意味着抛出此错误的内容。

那为什么会出现空引用异常呢?

您的日志清楚地表明它们在第 15 行 Battle.cs 脚本的开始中是一个空引用异常。通过检查它的分配方式(如果已分配)来调试问题,以及是否有某种方式将其销毁或未分配。