我有一个GameObject,我们称之为GM。附加到它是一个脚本,是为了一个游戏的主要逻辑控制器。使用初始值设定项创建对象数组似乎失败
在该脚本,什么地方,我有:
private dbEquipment equipment_database = new dbEquipment();
从dbEquipment.cs相关片段:
public class dbEquipment {
private int total_items = 13;
private clEquipment[] _master_equipment_list;
public dbEquipment() {
_master_equipment_list = new clEquipment[total_items];
_master_equipment_list[0] = new clEquipment {
... //large amount of object initializing here
};
... //etc, for all 13 items
}
}
当我运行团结,我得到:
NullReferenceException: Object reference not set to an instance of an object
指向该行:
_master_equipment_list[0] = new clEquipment { ...
我试图通过阵列上运行,每clEquipment对象初始化为空clEquipment()第一名:
for(int x = 0; x < total_items; x++) { _master_equipment_list[x] = new clEquipment(); }
只是要完全确保阵列竟涌起,但我得到了相同的结果。
我也试过把它改为List<clEquipment>
,并且适当地改变一切 - 没有骰子。
任何想法?
几乎所有'NullReferenceException'的情况都是一样的。请参阅“[什么是.NET中的NullReferenceException?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net)”的一些提示。 – 2013-02-28 02:43:54
感谢您的输入!我知道'NullReferenceException'是什么。在这种情况下,我只是被难住了,因为这是那些“过于简单而不能失败”的案例,所以我认为也许有人可能知道一些特定于Unity的怪癖。 – user462879 2013-02-28 02:46:24
在这种情况下,你应该知道如何调试它并找出什么是空的。任何人在[so]给你答案之前,你都可能会找到答案。 – 2013-02-28 02:48:57