我有一個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