空引用烦人的异常
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 脚本的开始中是一个空引用异常。通过检查它的分配方式(如果已分配)来调试问题,以及是否有某种方式将其销毁或未分配。
(问题在 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 脚本的开始中是一个空引用异常。通过检查它的分配方式(如果已分配)来调试问题,以及是否有某种方式将其销毁或未分配。